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

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

有什么解决办法吗?

【问题讨论】:

标签: swift date dateformatter


【解决方案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 声称的那样被小数部分破坏。
猜你喜欢
  • 2016-08-08
  • 2012-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多