Парсинг даты из строки в long дает неверный результат

Получился простой код, возможно проблема зависит от заданной строки формата или от часового пояса. Вот код:

public static void main(String[] args) {
    SimpleDateFormat df = new SimpleDateFormat("HH:mm");
    try {
        Date added = df.parse("00:00");
        System.out.println(added);
        System.out.println(added.getTime());
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

Результат:Thu Jan 01 00:00:00 EET 1970 -10800000 --> должно быть 0, так как мы указываем 00:00 часов, а остальные элементы времени остаются по умолчанию.

//Edit

Да, проблема связана с временной зоной, чтобы исправить это, используйте df.setTimeZone(TimeZone.getTimeZone("UTC")); перед разбором.

5
задан Risto Novik 6 December 2011 в 07:08
поделиться