从外部源(例如数据库服务器)获取时间值时,考虑到所涉及的不同时区至关重要。在这种情况下,服务器上存储的时间为 EST,但需要以 iPhone 用户的正确时区显示。
iPhone 自动管理基于用户位置和设备设置的时区。要将外部源的时间转换为用户的时区,请使用 NSTimeZone 类。此类提供了在不同时区之间进行转换的方法。
下面是如何在 Swift 中将时间值从 EST 转换为用户所在时区的示例:
let estTime = "2023-06-15 08:00:00" // Time in EST let dateFormatter = DateFormatter() dateFormatter.timeZone = TimeZone(identifier: "EST") // Set EST time zone dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" // Set date format let estDate = dateFormatter.date(from: estTime) // Convert EST time to date object if let estDate = estDate { let localTimeZone = TimeZone.autoupdatingCurrent // Get user's local time zone let localDate = estDate.addingTimeInterval(localTimeZone.secondsFromGMT()) // Convert EST date to local date dateFormatter.timeZone = localTimeZone // Set local time zone for display dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss z" // Set date format with time zone let localTime = dateFormatter.string(from: localDate) // Convert local date to string in local time zone print("Original EST Time:", estTime) print("Converted Local Time:", localTime) }
通过遵循此方法,您可以将时间值转换为 iPhone 用户的正确时区,确保时间戳在应用程序中准确显示。
以上是如何将 iPhone 设备的时区:EST 转换为当地时间?的详细内容。更多信息请关注PHP中文网其他相关文章!