2014/03/30 02:00 -> 02:59Не удается получить dateFromString на один определенный час
Я разбор CSV для подготовки базовой нейронной сети. Каждой строке соответствует одна минута. В коде нет проблем с анализом остальной части 2014 года, но этот час приводит к значению nil. Нет никакой разницы в обозначениях.
Я также пробовал на детской площадке. Та же проблема. Просто вставьте код ниже на детскую площадку и измените час или день.
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy/MM/dd HH:mm"
let dateString : String = "2014/03/30 02:53"
if dateFormatter.dateFromString(dateString) == nil {
print("bad date \(dateString)")
} else {
let date : NSDate = dateFormatter.dateFromString(dateString)!
let newDateString = dateFormatter.stringFromDate(date)
}
2014/03/30 02: 55,1017,0,1.917,70.8,5.074,99,0,13.84
2014/03/30 02: 56,1017,0,2.146, 65.26,5.036,99,0,13.84
2014/03/30 02: 57,1017,0,1.313,71.2,5.033,99,0,13.84
2014/03/30 02:58, 1017,0,1,292,74,9,5,047,99,0,13,84
2014/03/30 02: 59,1017,0,2,126,68,76,5.039,99,0,13.83
2014/03/30 03: 00,1017,0,1.438,61.02,5.011,99,0,13.84
2014/03/30 03: 01,1017,0,2.333,66.73,4.981, 99,0,13.84
Рабочий код:
UTC часовой пояс не имеет Daylight Savings
var dateFormatter = NSDateFormatter()
dateFormatter.timeZone = NSTimeZone(abbreviation: "UTC")
dateFormatter.dateFormat = "yyyy/MM/dd HH:mm"
let dateString : String = "2014/03/30 02:53"
if dateFormatter.dateFromString(dateString) == nil {
print("bad date \(dateString)")
} else {
let date : NSDate = dateFormatter.dateFromString(dateString)!
let newDateString = dateFormatter.stringFromDate(date)
}
Какой часовой пояс вы используете? Я предполагаю, что здесь часы регулируются на один час вперед для перехода на летнее время, а это значит, что в этот день нет «02:00». –
Мне тоже было интересно об этом. Я не знал, как он справляется с летним временем. Теперь я делаю .... Я поменю местный и повторю попытку. Также ваш комментарий больше напоминает ответ, чем первый ответ. Если вы опубликуете его как таковой, я могу его принять! –
похоже: http://stackoverflow.com/questions/22272089/ios-nsdateformatter-datefromstring-returns-nil-only-in-one-instance, http://stackoverflow.com/questions/12922645/why-does-nsdateformatter -подробнее-ноль-дата-для-этих-4-часовых зон, http://stackoverflow.com/questions/23833038/a-bug-nsdateformatter-datefromstring-returns-null-only-for-this-date-string , –