簡體   English   中英

將日期轉換為字符串,格式為“yyyy-MM-dd'T'HH:mm:ssZ”

[英]Convert Date to String with format “yyyy-MM-dd'T'HH:mm:ssZ”

我的 Swift 代碼:

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”

如果您想要該特定格式,則必須將時區設置為 UTC

dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)

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


更簡單的方法是ISO8601DateFormatter

let dateFormatter = ISO8601DateFormatter()
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
let date = Date()
print(dateFormatter.string(from: date))

您使用了錯誤的日期格式, Z將顯示為'Z'

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

其中Z代表 GMT/UTC 時區。

Z = 祖魯時間 => GMT+0

更正:

將您的日期格式更新為:

let format = "yyyy-MM-dd'T'HH:mm:ss'Z'"
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)")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM