【发布时间】:2019-09-22 12:28:26
【问题描述】:
我有以下代码:
//converting date into desired format
let formatterGet = DateFormatter()
formatterGet.dateFormat = "yyyy-MM-dd HH:mm:ss zzzz" //"2014-09-21 21:00:00 0000"
let date = formatterGet.date(from: birthday)
print(date)
// "decoding" the new format to be shown in the UI
let formatterShow = DateFormatter()
formatterShow.dateFormat = "MMM dd, yyyy"
birthdayTextField.text = formatterShow.string(from: date ?? Date())
问题是当我在控制台中打印日期时,它每次都显示 nil。我该如何解决?
【问题讨论】:
-
在您评论的日期中,时间和时区之间有 2 个空格。这是一个错字还是它实际上是这样的?
-
再确认一下,你确定
birthday的格式是“2014-09-21 21:00:00 0000”的评论格式吗?此外,在评论中,“21:00:00”和“0000”之间有一个双空格 -
@alxlives 实际上有两个空格“21:00:00”和“0000”,但是在迁移到 iOS13 之前它是这样工作的,现在它没有。我尝试了两个空格,但它仍然不起作用。
-
@Fogmeister 实际上有两个空格,但是当我将它们添加到 dateFormat 字符串时,它仍然返回 nil。
-
0000不能被任何时区说明符解码,除非您添加+或-符号。zzzz并不代表你认为的那样。见unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns
标签: swift nsdateformatter ios13 dateformatter