【发布时间】:2023-03-31 03:24:01
【问题描述】:
我在快速使用TimeZone 时遇到了一些麻烦。
func date(hour: Int, minute: Int, timeZone: TimeZone) -> Date {
let components = DateComponents(calendar: Calendar.current, timeZone: timeZone, era: nil, year: nil, month: nil, day: nil, hour: hour, minute: minute, second: 0, nanosecond: 0, weekday: nil, weekdayOrdinal: nil, quarter: nil, weekOfMonth: nil, weekOfYear: nil, yearForWeekOfYear: nil)
return components.date!
}
var startDate_TimeZone = TimeZone.init(identifier:"Asia/Seoul")
var endDate_TimeZone = TimeZone.current
let startDate = date(hour: 13, minute: 00, timeZone: startDate_TimeZone!)
// Returns "Jan 1, 1, 7:02 AM"
let endDate = date(hour: 13, minute: 00, timeZone: endDate_TimeZone)
// Returns "Jan 1, 1, 1:00 PM"
为什么我初始化时区时返回的时间加了2分钟?如何避免这种情况?
不同时区也会发生这种情况。 &我在文档中没有找到任何关于此的内容。
提前感谢您!
【问题讨论】:
-
计算的目的是什么?为什么要计算 0001 年的日期?