一尘不染

从字符串中获取日期

swift

即时通讯正在处理日期,并且我在从字符串中获取日期时遇到问题,我在这里简化了我的问题:

let date = NSDate()
let formatter = NSDateFormatter()
formatter.dateFormat = "dd-MM-YYYY"
formatter.stringFromDate(date)
formatter.dateFromString(formatter.stringFromDate(date))

输出为:“ 25-05-2015”(可以),“ 2014年12月21日,上午12:00”(???)


阅读 344

收藏
2020-07-07

共1个答案

一尘不染

那里的问题Y是为了weekOfYear。您必须使用"dd-MM-yyyy"。顺便说一句,不要忘记将日期格式设置的语言环境设置为“
en_US_POSIX”

如果您使用固定格式的日期,则应首先将日期格式器的语言环境设置为适合您的固定格式的语言环境。在大多数情况下,最佳选择的语言环境是“
en_US_POSIX”,该语言环境专门设计用于产生美式英语结果,无论用户和系统偏好如何。“
en_US_POSIX”的时间也不变(如果美国在将来某个时候改变其日期格式的方式,“ en_US”将更改以反映新的行为,但“
en_US_POSIX”不会改变)以及机器之间( “ en_US_POSIX”在iOS上的运行方式与在OS X上以及在其他平台上的运行方式相同)。

2020-07-07