【发布时间】:2020-08-25 06:25:26
【问题描述】:
func getDateWithoutTimeForDisplay() -> String {
let formatter = DateFormatter()
// formatter.locale = Locale(identifier: "en_US")
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
formatter.timeZone = TimeZone(identifier: "UTC")
formatter.locale = Locale(identifier: "en_US_POSIX")
let myStringafd = formatter.date(from: self)
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM-dd-yyyy"
dateFormatter.timeZone = NSTimeZone.local
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
if let myStringafd = myStringafd {
let somedateString = dateFormatter.string(from: myStringafd)
return somedateString
}
return ""
}
这是我根据本地时区将给定 UTC 日期转换为系统日期的代码。 实际问题是,假设“我的时间是 2020 年 8 月 25 日上午 1 点,根据印度时区,(UTC 时间比印度时间小 5.30),相应的 UTC 日期是 24-08- 2020年由于与印度时间的时差”。在这种情况下,我想将 UTC 日期(因为它影响要为用户显示的日期)转换为当前系统日期。
我的系统日期和时间是 25-08-2020 1:00 AM(印度时间) 对应的 UTC 日期为 24-08-2020。 -5:30 小时
我需要将 UTC 日期转换为当前本地时间
【问题讨论】:
-
设置dateFormat前需要先设置locale