mon*_*nus 16 date ios swift swift3
这是代码摘录:
func mapping(map: Map) {
time <- (map["time"], TransformOf<Date, String>(fromJSON: {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm:ss"
//dateFormatter.timeZone = TimeZone(abbreviation: "EEST")
if let argument = $0 {
let date = dateFormatter.date(from: argument)
return dateFormatter.date(from: argument)
}
return nil
}}
Run Code Online (Sandbox Code Playgroud)
$0
是字符串"22:12:00"
.我把"让日期"看看它返回的是什么,它是零.我在这里查找格式代码:http://waracle.net/iphone-nsdateformatter-date-formatting-table/
代码应该实际工作.我究竟做错了什么?
编辑:添加了整个功能
EDIT2:我刚刚注意到它在iPhone 7 iOS 10.1模拟器上运行正常但在我的iPod 10.1.1(2016)上返回nil.这太奇怪了.
Mar*_*n R 30
来自技术问答QA1480 - NSDateFormatter和Internet日期:
另一方面,如果您使用的是固定格式的日期,则应首先将日期格式化程序的区域设置设置为适合您的固定格式的区域设置.在大多数情况下,选择的最佳语言环境是"en_US_POSIX",这是一种专门用于产生美国英语结果的语言环境,无论用户和系统偏好如何.
这将阻止根据用户的区域设置解释日期:
let dateFormatter = DateFormatter()
// Set the locale first ...
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
// ... and then the date format:
dateFormatter.dateFormat = "HH:mm:ss"
// ...
Run Code Online (Sandbox Code Playgroud)
另请参阅处理NSDateFormatter语言环境"feechur"的最佳方法是什么?.
归档时间: |
|
查看次数: |
3399 次 |
最近记录: |