为了账号安全,请及时绑定邮箱和手机立即绑定

DateFormat不返回“HH:mm:SS”的日期

DateFormat不返回“HH:mm:SS”的日期

智慧大石 2019-06-25 11:06:10
DateFormat不返回“HH:mm:SS”的日期下面是代码摘录: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         }}$0是字符串"22:12:00"..我用“让日期”来看看它会返回什么,而它是零。我在这里查找了格式代码:http:/waracle.net/iphone-nsdateformtter-日期-格式化-table/代码实际上应该有效。我做错什么了?编辑*增加整个功能EDIT 2:我刚刚注意到它在iPhone7IOS 10.1模拟器上运行正常,但在我的iPod10.1.1(2016)上返回为零。这太奇怪了。
查看完整描述

1 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

从…技术问答QA 1480-NSDateFormat和互联网日期(强调后加):

另一方面,如果您使用的是固定格式的日期,则应该首先,将日期格式化程序的区域设置为适合固定格式的内容。在大多数情况下,可以选择的最佳地区是“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"// ...

另见处理NSDateForMatylocale“feechur”的最佳方法是什么?.


查看完整回答
反对 回复 2019-06-25
  • 1 回答
  • 0 关注
  • 587 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信