swift - DateFormatter() 与双类型秒 swift
问题描述
我正在尝试将从服务器获取的日期时间转换为本地时间。我正在使用 DateFormatter(),经过网络研究,格式服务器发送的格式如下:“yyyy-MM-dd'T'HH:mm:ss”。但是,实际发送的字符串服务器看起来像:2021-06-21T06:00:19.251588,我猜这里以详细的格式给出了秒数。但是,当我通过函数运行它以转换为本地时间时,它返回 nil。这是我的代码:
func utcToLocal(dateStr: String) -> String? {
//dateStr is 2021-06-21T06:00:19.251588
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
if let date = dateFormatter.date(from: dateStr) {
dateFormatter.timeZone = TimeZone.current
dateFormatter.dateFormat = "yy.MM.dd"
return dateFormatter.string(from: date)
}
return nil
}
我有没有可能使用错误的日期格式?
解决方案
推荐阅读
- javascript - 如何在 Javascript 中更新嵌套的 JSON 键?
- javascript - 如果持续时间为 24 小时,Moment.js 返回 2 天
- asynchronous - 未取消 未来
- database - 网络性能对数据库 (RDS) 的影响
- python-3.x - 从具有法线的点云到多面体的 pyntcloud
- javascript - 如何计算鼠标悬停在正在绘制的元素上时相对于绘图区域的位置
- javascript - HTML表格中的下拉菜单不显示链接
- maven - 如何在 maven pom 中自动设置 scm 连接?
- php - Laravel 5.7 - 未定义的偏移量:1
- mongodb - 如何在 Mongoose Schema 中定义嵌套数组