ios - 将时间戳转换为其他时区(快速)

标签 ios swift date timezone

我想做什么:
从我的数据库中获取时间戳并将其转换为用户的时区。
我的代码:

let tryItNow = "\(model.timestampName)"
        
let format = DateFormatter()       
let date = format.date(from: tryItNow)       
format.timeZone = .current       
format.dateFormat = "yyyy-MM-dd HH:mm:ss Z"       
let dateString = format.string(from: date!)   //Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
print(dateString)
问题:我想Xcode告诉我,date是空的,这不是真的。我从结构获得时间戳,整个过程都在函数中,这就是为什么将其称为model.timestampName的原因。
我尝试了什么:在Internet上搜索,这里是堆栈溢出的情况(大多数教程都已经3岁了,我没有找到适合我特定情况的任何东西)。

最佳答案

您必须在转换日期之前指定format.dateFormat :

let format = DateFormatter()      
format.dateFormat = "yyyy-MM-dd HH:mm:ss Z" // <- format of model.timestampName
let date = format.date(from: tryItNow)       

关于ios - 将时间戳转换为其他时区(快速),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62609660/

相关文章:

ios - 如何使用 Swift 从 Xcode 中的代码访问预处理器宏?

swift - 如何将 String 转换为 UnsafeMutablePointer<UInt8> ? swift 3

php - 使用 Zend_Date 处理日期和时区

validation - 日期值: when entered 00/00/0000 saves as 11/30/0002

ios - 如何解雇其他警报 Controller 并立即立即提供新的警报 Controller

ios - iOS 7 上的分组 UITableView 故障

ios - Xcode 快速导航栏在模拟器运行时消失,但在 Storyboard 中则不会消失

Safari 中的 Javascript "Invalid Date"错误

ios - 更新 Parse.com 中的 createdAt 列

ios - quickType 栏上的自动填充密码键盘键锁图标未显示 - iOS? - 已设置 textContentType = .password?