如何在 Swift 中将此日期字符串格式“2018-03-30T14:36:10.093”格式化为日期 [重复]

Posted

技术标签:

【中文标题】如何在 Swift 中将此日期字符串格式“2018-03-30T14:36:10.093”格式化为日期 [重复]【英文标题】:How to format this date string format "2018-03-30T14:36:10.093" into Date in Swift [duplicate] 【发布时间】:2020-01-09 18:13:54 【问题描述】:

我正在尝试在 Swift 中获取此字符串格式“2018-03-30T14:36:10.093”的日期对象,但我不明白。它不是 ISO8601,因为数字 10 之后的那个点。

有什么解决办法吗?

【问题讨论】:

是的。小数部分是合法的,是规范的一部分。 ***.com/a/28016692/2303865 【参考方案1】:

我明白了。即将从数字 10 之后的点修剪字符串,并为日期格式化程序提供以下格式:

dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"

【讨论】:

如果你修剪你的字符串,你将丢弃日期小数秒。 不,现在您已经丢弃了部分号码,导致日期不同。 let s = "2018-03-30T14:36:10.093"; let f = ISO8601DateFormatter(); f.formatOptions = .withFractionalSeconds; let d = f.date(from: s) @matt 这是错误的。首先,字符串应以时区Z 结尾。其次,您需要传递一组[.withInternetDateTime, .withFractionalSeconds] 或简单的f.formatOptions.insert(.withFractionalSeconds) @LeoDabus 哦,好吧。关键是您的答案已经涵盖了这一点,并且我已经适当地指出了这一点。我只是想表明 OP 的字符串没有像 OP 声称的那样被小数部分破坏。

以上是关于如何在 Swift 中将此日期字符串格式“2018-03-30T14:36:10.093”格式化为日期 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Swift 中将日期转换为特定格式

如何在tableview中将JSON字符串更改为日期格式

在 pyspark SQL 中将字符串日期转换为日期格式

在swift 3中将字符串转换为日期类型[重复]

在 Swift 中将字符串转换为日期 [重复]

如何在IOS中将日期格式化为字符串,如“一天前”、“分钟前”?