在Java中,如何使用Joda-Time来获取使用时区的日期和时间。服务器正在运行UTC +0300。但我需要使用UTC +0530,即印度标准时间。我需要像这样使用
DateTimeZone zone = DateTimeZone.forID("Asia/Calcutta");
但是如何以这种格式获取日期和时间:dd-MM-yyyy hh:mm:ss
非常感谢任何帮助。
答案 0 :(得分:1)
您需要DateTimeFormatter
:
private static final DateTimeFormatter FORMATTER
= DateTimeFormat.forPattern("dd-MM-yyyy hh:mm:ss");
然后您可以.print()
DateTime
:
// Returns a String
FORMATTER.print(new DateTime(zone));
答案 1 :(得分:1)
其他答案是偏袒的。这里有更多信息。
要调整时区,您可以:
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.