我想得到这种类型的甲酸盐 - > 2018年4月20日下午9:02:00 UTC + 5:30 用于firestore时间戳。我已经尝试过这段代码但是没有像上面那样得到合适的格式。
let date = Date()
let formatter = DateFormatter()
formatter.dateFormat = "MMMM d yyyy hh:mm:ss a Z"
formatter.timeZone = NSTimeZone(name: "IST") as TimeZone?
let result = formatter.string(from: date)
print(result)
已经使用过这个格式化版画家.dateFormat =" MMMM d yyyy' hh:mm:ss a Z"
由于
答案 0 :(得分:6)
您可以这样使用:
let date = Date()
let formatter = DateFormatter()
formatter.dateFormat = "MMMM dd, yyyy 'at' hh:mm:ss a 'UTC'Z" //If you dont want static "UTC" you can go for ZZZZ instead of 'UTC'Z.
formatter.timeZone = TimeZone(abbreviation: "IST")
let result1 = formatter.string(from: date)
print(result1)
注意:如果您不希望 UTC 在字符串中保持静态,您还可以使用格式
"MMMM dd, yyyy 'at' hh:mm:ss a ZZZZ"
感谢您Larme有关格式改进的信息
<强>输出:强>
答案 1 :(得分:4)
喜欢
let formatter = DateFormatter()
//If you want it in your specific format you can simply add 'UTC'
formatter.dateFormat = "MMMM dd, yyyy 'at' hh:mm:ss a 'UTC'Z"
formatter.timeZone = NSTimeZone(name: "IST") as TimeZone?
let result = formatter.string(from: Date())
print(result)
注意:如果您要为字符串设置currentTimezone,请使用格式&#34; MMMM dd,yyyy&#39; at&#39; hh:mm:ss a ZZZZ&#34;
你得到的输出为
答案 2 :(得分:2)
如果您不希望小时为零,小时为单位数,请尝试此操作。您也不需要将NSTimeZone强制转换为TimeZone。您可以直接使用TimeZone。
let date = Date()
let formatter = DateFormatter()
formatter.dateFormat = "MMMM dd, yyyy 'at' h:mm:ss a 'UTC'Z"
formatter.timeZone = TimeZone(abbreviation: "IST")
let result = formatter.string(from: date)
print(result)
2018年4月23日下午3:09:01 UTC + 0530