[英]Why get nil when try to using dateFormatter in iOS Swift 3?
我嘗試將日期與String格式轉換為日期格式,如下所示:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from: "2017-03-22")
但是獲得零價值。
我設置
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
但不起作用......
請幫忙解決這個問題。
我想你的設備日歷設置為與默認的公歷日歷不同,添加此行將解決問題:
dateFormatter.calendar = Calendar(identifier: .gregorian)
另外我注意到你的日期沒有嵌入任何時區,如果你有一個固定的時區,也添加這一行:
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
// Replace "UTC" with your desired timezone
最終的代碼是這樣的:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
dateFormatter.calendar = Calendar(identifier: .gregorian)
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
let date = dateFormatter.date(from: "2017-03-22")
解決了
我補充道
dateFormatter.calendar = Calendar(identifier: .gregorian)
腳本和正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.