如何获取特定时间点的unix时间戳?例如,我如何将当前的美国东部时间16:30转换为时间戳?
您可以使用日历方法date(bySettingHour:)
并设置所需的时间。
let now = Date()
if let currentTimezoneTimeStamp = Calendar.current.date(bySettingHour: 16, minute: 30, second: 0, of: now)?.timeIntervalSince1970 {
currentTimezoneTimeStamp // 1606246200 "GMT-3"
}
如果需要指定特定时区,可以设置日历的时区属性:
var calendar = Calendar.current
calendar.timeZone = TimeZone(identifier: "America/New_York")!
if let newYorkTimeStamp = calendar.date(bySettingHour: 16, minute: 30, second: 0, of: now)?.timeIntervalSince1970 {
newYorkTimeStamp // 1606253400 "GMT-5"
}