Java joda-time получить дату и время

В Java, как использовать Joda-Time для получения даты и времени с использованием часового пояса. На сервере работает UTC +0300. Но мне нужно использовать UTC +0530, то есть индийское стандартное время. Мне нужно использовать вот так

DateTimeZone zone = DateTimeZone.forID("Asia/Calcutta");

Но как получить дату и время в этом формате: dd-MM-yyyy hh:mm:ss

Любая помощь приветствуется.


person Goku    schedule 22.02.2014    source источник
comment
joda -time.sourceforge.net/apidocs/org/joda/time/format/   -  person StoopidDonut    schedule 22.02.2014


Ответы (2)


Вам нужен DateTimeFormatter:

private static final DateTimeFormatter FORMATTER
    = DateTimeFormat.forPattern("dd-MM-yyyy hh:mm:ss");

Затем вы можете .print() DateTime:

// Returns a String
FORMATTER.print(new DateTime(zone));
person fge    schedule 22.02.2014

Остальные ответы были частичными. Вот еще немного информации.

Чтобы настроить часовой пояс, вы можете:

  • Создайте новый экземпляр DateTime с назначенным другим часовым поясом.
  • Попросите средство форматирования применить часовой пояс во время создания строкового представления даты и времени.
DateTime dateTimeMoscow = new DateTime( DateTimeZone.forID( "Europe/Moscow" ) );
DateTime dateTimeIndia = dateTimeMoscow.withZone( DateTimeZone.forID( "Asia/Kolkata" ) );
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd-MM-yyyy hh:mm:ss").withZone( DateTimeZone.forID( "Asia/Kolkata" ) );
String output = formatter.print( dateTimeMoscow ); // Formatter adjusts zone from Moscow to Kolkata.
person Basil Bourque    schedule 22.02.2014