ios - 如何在 Swift 中解析这个日期时间
问题描述
我正在尝试解析此 DateTime,但无法检测到格式并且解析失败。它如下所示:
20190507T000000.000
我尝试了我能想象到的每一种格式,但老实说,我对日期格式的理解还很遥远。我尝试将此格式设置为 dateFormatter 因为我认为这最接近它:
"yyyyMMddTHHmmss.sss"
另外,我尝试使用ISO8601DateFormatter()
which 什么也没给我。我猜这个 DateTime 是一些 UTC 日期。
解决方案
创建了一个字符串的扩展。
extension String {
extension String {
public func dateIn(formate: String) -> Date? { // gives in same formate
if formate.isEmpty { return Date() }
let formatter = DateFormatter()
formatter.timeZone = TimeZone.current
formatter.dateFormat = formate
if let dt = formatter.date(from: self) {
return dt
}
return nil
}
}
如何使用 :
let stringValue : String = "20190507T000000.000"
print(stringValue.dateIn(formate: "yyyyMMdd'T'HHmmss.SSS"))
推荐阅读
- c# - 没有使用 MiniProfiler 和 Dapper 给出分析数据
- json - 在 MutipartFormData(FormData) 中发送 JSON 对象
- java - 当用户从微调器中单击一个项目时,它应该显示另一个项目数据将从 JSON Web 服务获取
- flutter - 可以在 Flutter 中为 IOS 和 Android 制作非恶意键盘记录器吗?
- android - 在第二个阵列上获得位置时遇到问题
- python - 如何计算 arUco 标记的偏航角?
- xpath - Google 表格 importxml 奇怪的导入 - 无法获取元素的正确路径
- javascript - 如何发出一个 DM 某人但它可以忽略特定用户的命令?
- python - Python - 将带有特殊字符的字符串转换为字节
- apple-push-notifications - iOS 13 是否有获取设备通知令牌的新方法?