ios - 在我的例子中,ISO 时间戳应该使用什么格式

标签 ios swift nsdateformatter

我有一个 ISO 8061 格式时间戳字符串“2018-06-13T12:11:13+05:00”,创建 Date 对象的正确方法是什么从字符串中取出?

我尝试过:

let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let myDate = formatter.date(from: "2018-06-13T12:11:13+05:00")

但它无法正常工作,myDate 晚了一小时。对于这种时间戳我应该使用什么格式字符串?

最佳答案

对于 ISO 8601 时区格式

大写使用ZZZZZ

formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"

编辑

检查以下示例

我刚刚将 +05:3005:00 更改为

let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
formatter.timeZone = TimeZone(identifier: "UTC")

let myDate = formatter.date(from: "2018-06-13T12:11:13+05:30")

formatter.dateFormat = "yyyy-MM-dd HH:mm"
formatter.timeZone = TimeZone.current
print(formatter.string(from: myDate!))

输出

2018-06-13 12:11

关于ios - 在我的例子中,ISO 时间戳应该使用什么格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50838378/

相关文章:

ios - 主队列上的 Touch ID

ios - 绘制圆形相交线

ios - 使用 UICollectionView 的类似电子表格的布局

ios - 如何在 iOS 中动态地在 UIView 中制作不同的圆角值?

objective-c - 在iOS上使用NSDateFormatter

ios - sqlite selectObject 方法,%%%@%% 东西

json - 使用 ObjectMapper 从 JSON 反序列化为自定义对象

objective-c - NSString到NSDate返回错误的日期

objective-c - NSDateFormatter dateFromString :stringDate returning nil in iOS 8. 3

ios - 使用 Swift 在 iOS Keychain 中存储 NSHttpCookie