WEKA анализирует мою дату с SimpleDateFormat .... если только это не занимает 2 часа - PullRequest
2 голосов
/ 20 мая 2011

У меня есть большой ARFF-файл с данными, который выглядит примерно так:

555,"2011-03-13 01:50:48.000",0
540,"2011-03-13 02:10:19.000",0

Чтобы разобрать его, я объявил второй атрибут следующим образом:

@attribute RecordedOn date "yyyy-MM-dd HH:mm:ss.SSS"

Парсер, который использует Java SimpleDateFormat, прекрасно работает для первой строки (и пары миллионов строк, которые очень похожи на нее), но затягивается на несколько строк, как вторая. Я заметил, что он душит только одну строку, чей час равен «02» - фактически, вторая строка разбирается нормально, если я изменяю ее на 540,"2011-03-13 01:10:19.000",0. Чтобы добавить к тайне, некоторые строки с 02 все равно разбираются нормально. Нравится: 1,"2006-12-16 02:58:51.000",111

Так кто-нибудь знает, что происходит? Любой совет? Заранее спасибо.

1 Ответ

5 голосов
/ 20 мая 2011

Вы почти наверняка интерпретируете даты как местное время в часовом поясе, в котором используется летнее время.13 марта 2011 года было начало летнего времени в Соединенных Штатах;это означает, что часы переводятся с 01:59:59 до 03:00:00, пропуская все 2 часа.«2011-03-13 02: 10: 19.000» по местному времени никогда не происходило, например, в Нью-Йорке.

...