首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将日期转换为字符串,格式为“yyyy‘to :mm:ssZ”

将日期转换为字符串,格式为“yyyy‘to :mm:ssZ”
EN

Stack Overflow用户
提问于 2018-04-12 06:43:00
回答 3查看 4.3K关注 0票数 0

我的Swift代码:

代码语言:javascript
复制
let format = "yyyy-MM-dd'T'HH:mm:ssZ"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format
dateFormatter.timeZone = TimeZone.current
let date = Date()
print(dateFormatter.string(from: date))

结果格式总是如"2018-04-12T13:33:18+0700“,可以设置"2018-09-19T17:00:00Z”等结果格式。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-04-12 07:24:07

如果需要特定的格式,则必须将时区设置为UTC。

代码语言:javascript
复制
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)

并使用日期格式"yyyy-MM-dd'T'HH:mm:ssX" (X而不是Z)

一个更简单的方法是ISO8601DateFormatter

代码语言:javascript
复制
let dateFormatter = ISO8601DateFormatter()
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
let date = Date()
print(dateFormatter.string(from: date))
票数 3
EN

Stack Overflow用户

发布于 2018-04-12 06:57:37

如果使用错误的日期格式,则Z将显示为'Z'

日期格式: "yyyy-MM-dd'T'HH:mm:ss'Z'"

其中Z代表格林尼治标准时间/UTC时区。

Z = Zulu time => GMT+0

校正:

将日期格式更新为:

代码语言:javascript
复制
let format = "yyyy-MM-dd'T'HH:mm:ss'Z'"
票数 0
EN

Stack Overflow用户

发布于 2020-05-13 11:57:12

代码语言:javascript
复制
let dateFormatter = DateFormatter()
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
let date = Date()

print("This is UTC Date -> \(date)")

let dateFormat = DateFormatter()
dateFormat.dateFormat = "h:mm a"
let currentTime = dateFormat.string(from: date)

print("After Formatted -> \(currentTime)")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49789701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档