2015-02-04 4 views
0

Я разбор штампа времени, который представляет собой строку следующим образом:Как разобрать время в правильном часовом поясе java?

Date receivedDateObj = new Date(); 
String inputDate = "Fri, 31 Dec 1999 23:59:59"; 
SimpleDateFormat formatter = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); 
       try { 
        System.out.println(inputDate); 
        formatter.setTimeZone(TimeZone.getTimeZone("UTC")); 
        receivedDateObj = formatter.parse(inputDate); 
       }catch (ParseException e) { 

       } 
System.out.println(receivedDateObj); 

Дата получает разобрана правильно, но при печати даты, она печатает следующее:

Fri Dec 31 18:59:59 EST 1999 

Как получить он печатает GMT вместо EST? Почему часовой пояс не устанавливается, несмотря на то, что я устанавливаю его, используя следующее?

formatter.setTimeZone(TimeZone.getTimeZone("UTC")); 
+0

возможно дубликат [Как я могу получить Java для разбора и форматирования даты/времени с одной и той же временной зоне? Я продолжаю получать местный часовой пояс] (http://stackoverflow.com/questions/4551543/how-do-i-get-java-to-parse-and-format-a-date-time-with-the-same- часовой пояс-я-Ки) –

ответ

1

A java.util.Date объект не имеет информации о часовом поясе. Это фиксированный момент времени. Для сброса на консоль используется Date.toString();, который использует часовой пояс JVM для выполнения формата. Если вы хотите мгновенно преобразовать свой фиксированный момент времени в «человеческое» представление в определенный часовой пояс, просто отправьте его обратно через ваш форматировщик другим способом.

System.out.println(formatter.format(receivedDateObj)); 
0

Я предлагаю вам использовать свободу слова joda. Этот API содержит некоторые классные классы для достижения того, что вы готовы сделать: DateTimeFormat, DateTimeZone ... По-моему, это лучший API даты в java.

Javadoc является довольно исчерпывающим, и многие примеры присутствуют в Интернете (включая, например, стековый поток).

источники:

http://www.joda.org/joda-time/

http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTimeZone.html

http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html

Смежные вопросы