如何将特定的 GMT 用于将被其他时区识别的功能
How to use a specific GMT for a function which will be recognised by other time zones
我想有一个简单的方法可以做到这一点,我只是还没想出来。
我只想在澳大利亚东部标准时间上午 9 点到中午 12 点 (GMT+10) 之间显示一个按钮。
因此对于 AWST (GMT+8) 中的用户,他们将无法在上午 11 点时看到该按钮。
我有具体要用的时间
let date = Date()
let dateFormatterTime = DateFormatter()
dateFormatterTime.dateFormat = "HH:mm:ss"
dateFormatterTime.timeZone = TimeZone(secondsFromGMT: 36000)
let sydneyTime = dateFormatterTime.string(from: date)
print(sydneyTime)
我有一个功能适用于每个位置的时区
func CheckTime()->Bool
{
var timeExist: Bool
let calendar = Calendar.current
let startTimeComponent = DateComponents(calendar: calendar, hour: 9)
let endTimeComponent = DateComponents(calendar: calendar, hour: 12, minute: 01)
let now = Date()
let startOfToday = calendar.startOfDay(for: now)
let startTime = calendar.date(byAdding: startTimeComponent, to: startOfToday)!
let endTime = calendar.date(byAdding: endTimeComponent, to: startOfToday)!
if startTime <= now && now <= endTime
{
button.isHidden = false
timeExist = true
print("9am-12pm")
print(sydneyTime)
}
else
{
button.isHidden = true
timeExist = false
print("After 12:01pm")
print(sydneyTime)
}
return timeExist
}
如何使用 AEST(悉尼时间)而不是公历时间(日历),以便该功能仅在 AEST (GMT+10) 期间有效?
您可以使用日历方法 func dateComponents(in timeZone: TimeZone, from date: Date) -> DateComponents
并获取所需时区的小时部分。然后你只需要检查它是否包含在所需的时间范围内:
let timeZone = TimeZone(secondsFromGMT: 36000)!
let hourInAEST = Calendar.current.dateComponents(in: timeZone, from: Date()).hour!
if 9..<12 ~= hourInAEST {
print(true)
} else {
print(false)
}
我想有一个简单的方法可以做到这一点,我只是还没想出来。
我只想在澳大利亚东部标准时间上午 9 点到中午 12 点 (GMT+10) 之间显示一个按钮。
因此对于 AWST (GMT+8) 中的用户,他们将无法在上午 11 点时看到该按钮。
我有具体要用的时间
let date = Date()
let dateFormatterTime = DateFormatter()
dateFormatterTime.dateFormat = "HH:mm:ss"
dateFormatterTime.timeZone = TimeZone(secondsFromGMT: 36000)
let sydneyTime = dateFormatterTime.string(from: date)
print(sydneyTime)
我有一个功能适用于每个位置的时区
func CheckTime()->Bool
{
var timeExist: Bool
let calendar = Calendar.current
let startTimeComponent = DateComponents(calendar: calendar, hour: 9)
let endTimeComponent = DateComponents(calendar: calendar, hour: 12, minute: 01)
let now = Date()
let startOfToday = calendar.startOfDay(for: now)
let startTime = calendar.date(byAdding: startTimeComponent, to: startOfToday)!
let endTime = calendar.date(byAdding: endTimeComponent, to: startOfToday)!
if startTime <= now && now <= endTime
{
button.isHidden = false
timeExist = true
print("9am-12pm")
print(sydneyTime)
}
else
{
button.isHidden = true
timeExist = false
print("After 12:01pm")
print(sydneyTime)
}
return timeExist
}
如何使用 AEST(悉尼时间)而不是公历时间(日历),以便该功能仅在 AEST (GMT+10) 期间有效?
您可以使用日历方法 func dateComponents(in timeZone: TimeZone, from date: Date) -> DateComponents
并获取所需时区的小时部分。然后你只需要检查它是否包含在所需的时间范围内:
let timeZone = TimeZone(secondsFromGMT: 36000)!
let hourInAEST = Calendar.current.dateComponents(in: timeZone, from: Date()).hour!
if 9..<12 ~= hourInAEST {
print(true)
} else {
print(false)
}