gpt4 book ai didi

ios - 如何获取当前 EST 时间 IOS Swift

转载 作者:可可西里 更新时间:2023-11-01 00:58:12 29 4
gpt4 key购买 nike

我需要在我的应用程序中比较两个日期,我有一个 EST 日期来与当前日期进行比较,但是 let today = NSDate() 返回 UTC 日期,我怎样才能获得当前 EST时间或转换为 EST?

最佳答案

NSDate 以绝对时间存储时间,即无论您在使用 NSDatecompare 方法时创建的日期是在哪个时区它将尊重时区(因为从未存储时区)。您可以将 NSDate 视为纪元时间,它始终从 1970 年 1 月 1 日星期四协调世界时 (UTC) 00:00:00 开始计算

我不知道 NSDate 的实现可能是它在内部以 UTC 存储日期。

是我们的实现 (NSDateFormatter) 将其格式更改为我们的要求。

因此,无论您使用 compare 还是 NSCalendar,无论您如何创建日期,它们都会比较您的日期

例如我本地的时区是 IST,现在是 2016-10-21 12:10:00

美国东部时间是 2016-10-21 02:40:00,
在 PST 现在是 2016-10-20 23:40:00

所以这段代码

let today = NSDate()
print("\(today)")


let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
formatter.timeZone = TimeZone(abbreviation: "EST")
let estDate = formatter.date(from: "2016-10-21 02:40:00")
print("\(estDate!)")


formatter.timeZone = TimeZone(abbreviation: "PST")
let pstDate = formatter.date(from: "2016-10-20 23:40:00")
print("\(pstDate!)")


formatter.timeZone = TimeZone(abbreviation: "IST")
let istDate = formatter.date(from: "2016-10-21 12:10:00")
print("\(istDate!)")

将在同一时间打印,因为到处都是同一时刻

2016-10-21 06:40:00 +0000
2016-10-21 06:40:00 +0000
2016-10-21 06:40:00 +0000
2016-10-21 06:40:00 +0000

关于ios - 如何获取当前 EST 时间 IOS Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40169205/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com