当使用参数Date(timeIntervalSince1970: 0)
调用startOfDay(for: )
时,我得到了一个小时的日期
例如:
let twoThousandAndOne = Date(timeIntervalSinceReferenceDate: 0)
let nineteenSeventy = Date(timeIntervalSince1970: 0)
print("Two thousand and one: (twoThousandAndOne)")
print("Nineteen seventy: (nineteenSeventy)")
let calendar = Calendar.current
print("Start of two thousand and one: (calendar.startOfDay(for: twoThousandAndOne))")
print("Start of nineteen seventy: (calendar.startOfDay(for: nineteenSeventy))")
输出:
Two thousand and one: 2001-01-01 00:00:00 +0000
Nineteen seventy: 1970-01-01 00:00:00 +0000
Start of two thousand and one: 2001-01-01 00:00:00 +0000
Start of nineteen seventy: 1969-12-31 23:00:00 +0000
您的时区是 UTC+1
Calendar
考虑本地时区,但print
以 UTC 显示日期。
要打印使用 UTC 格式Calendar
创建的日期,请添加 UTC 时区
var calendar = Calendar.current
calendar.timeZone = TimeZone(secondsFromGMT: 0)!