2014-07-08 13 views
6

Tôi đang gặp sự cố khi nói đến việc lấy hai số NSDate và hiển thị chuỗi được bản địa hóa cho phạm vi.Nhận chuỗi phạm vi ngày được bản địa hóa từ hai NSDates

Ví dụ, nói ngày của tôi là vào ngày 7 và tháng bảy 9. Tôi sẽ cần chuỗi kí tự sau cục bộ:

  • EN: Tháng Bảy 7-9
  • FR: 7-9 Juliet
  • ES: 7-9 Julio
  • DE: 7. bis. 9. Juli

Rõ ràng việc sử dụng NSString stringWithFormat: sẽ không hoạt động ở đây. Vì lợi ích của sự đơn giản, chúng ta thậm chí không đi vào trường hợp phạm vi của bạn là hai tháng riêng biệt. Tôi biết làm thế nào để có được một chuỗi định dạng cho mỗi ngày nhưng nó định dạng nó trong một phạm vi đó là nhận được tôi.

Có cách nào để sử dụng số NSDateFormatter để nhận điều này không? Tôi càng nhìn xung quanh, tôi càng nghĩ mình cần phải có một công tắc cho mỗi miền địa phương.

EDIT: Để làm rõ, tôi chỉ cần phạm vi ngày cho ngôn ngữ của người dùng. Tôi không cần tất cả chúng cùng một lúc.

+0

thể trùng lặp của [Cocoa - Localized chuỗi từ NSDate, NSCalendarDate] (http://stackoverflow.com/questions/1011175/cocoa-localized- string-from-nsdate-nscalendardate) – rishi

+0

@rishi Đó không phải là một bản sao của câu hỏi này. – rmaddy

+0

mà không thay đổi ngôn ngữ bạn muốn tìm nạp ngày được bản địa hóa? – rishi

Trả lời

8

Sau khi nghiên cứu sâu hơn, có vẻ như trong iOS 8.0+ bạn có thể sử dụng NSDateIntervalFormatter để thực hiện việc này. Điều đó không giúp tôi bây giờ nhưng nó an ủi để biết nó đang trên đường.

5

Để xây dựng trên câu trả lời của Adam với một số mẫu mã:

let formatter = NSDateIntervalFormatter() 
formatter.dateStyle = NSDateIntervalFormatterStyle.ShortStyle 
formatter.timeStyle = NSDateIntervalFormatterStyle.NoStyle 
let dateRangeStr = formatter.stringFromDate(startDate, toDate: endDate) 
Các vấn đề liên quan