Swift NSDate 格式化程序问题
Swift NSDate Formatter Issue
我在 Swift NSDateFormatter
的某个日期遇到了一个奇怪的问题,
这是我的代码:
let stringDate = "25/03/2015"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
let date = dateFormatter.dateFromString(stringDate)
此代码运行良好,我能够从字符串中获取日期。但是,如果我将日期更改为“25/03/2016”或“31/03/2017”,我总是得到 nil
.
这很奇怪,有没有人也遇到过这个问题?有人知道这个奇怪错误背后的原因是什么吗?
我刚试过这个:
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
let date = dateFormatter.dateFromString("25/03/2015")
NSLog("%@", date!);
let date1 = dateFormatter.dateFromString("25/03/2016")
NSLog("%@", date1!);
let date2 = dateFormatter.dateFromString("31/03/2017")
NSLog("%@", date2!);
我的输出是这样的:
2016-03-02 11:31:53.117 SwiftTest[5139:2280171] 2015-03-24 23:00:00 +0000
2016-03-02 11:31:53.117 SwiftTest[5139:2280171] 2016-03-24 23:00:00 +0000
2016-03-02 11:31:53.118 SwiftTest[5139:2280171] 2017-03-30 22:00:00 +0000
看来您的应用中还有其他问题。
您所在的语言环境和时区是否在这些特定日期的午夜改变了夏令时?
这可能是因为 0:00 - 0:59 可能不存在。
我在 Swift NSDateFormatter
的某个日期遇到了一个奇怪的问题,
这是我的代码:
let stringDate = "25/03/2015"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
let date = dateFormatter.dateFromString(stringDate)
此代码运行良好,我能够从字符串中获取日期。但是,如果我将日期更改为“25/03/2016”或“31/03/2017”,我总是得到 nil
.
这很奇怪,有没有人也遇到过这个问题?有人知道这个奇怪错误背后的原因是什么吗?
我刚试过这个:
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
let date = dateFormatter.dateFromString("25/03/2015")
NSLog("%@", date!);
let date1 = dateFormatter.dateFromString("25/03/2016")
NSLog("%@", date1!);
let date2 = dateFormatter.dateFromString("31/03/2017")
NSLog("%@", date2!);
我的输出是这样的:
2016-03-02 11:31:53.117 SwiftTest[5139:2280171] 2015-03-24 23:00:00 +0000
2016-03-02 11:31:53.117 SwiftTest[5139:2280171] 2016-03-24 23:00:00 +0000
2016-03-02 11:31:53.118 SwiftTest[5139:2280171] 2017-03-30 22:00:00 +0000
看来您的应用中还有其他问题。
您所在的语言环境和时区是否在这些特定日期的午夜改变了夏令时?
这可能是因为 0:00 - 0:59 可能不存在。