[英]NSDateFormatter automatically get dateFormat (Swift 2)
有沒有辦法自動獲取dateFormat字符串(無需顯式設置)?
///getting the date from datePicker
func handleDatePicker(sender: UIDatePicker) {
let timeFormatter = NSDateFormatter()
timeFormatter.locale = NSLocale.currentLocale()
timeFormatter.dateStyle = .MediumStyle
timeFormatter.dateFormat = "dd MMM yyyy" ///get this automatically???
dateTextField.text = timeFormatter.stringFromDate(sender.date)
}
[...]///other stuff
let dateString = dateTextField.text
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd MMM yyyy" //can I get the string automatically based on user locale??? so I don't have to worry about setting the correct string?
dateFormatter.locale = NSLocale.currentLocale()
let dateFromString = dateFormatter.dateFromString(dateString!)
print(dateFromString)/// gives nil if dateFormatter.dateFormat = "dd MMM yyyy" is commented out
您可以使用以下方式自動應用日期格式。 下面的代碼在Swift 3.0中。
方法1(使用自定義日期和時間樣式):
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = DateFormatter.dateFormat(fromTemplate: "dd MMM yyyy", options: 0, locale: NSLocale.current)
let dateString = dateFormatter.string(from: Date())
方式2(使用預設):
let dateString = DateFormatter.localizedString(from: Date(), dateStyle: .medium, timeStyle: .none)
請參考此鏈接以獲取更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.