我已多次搜索,但我找不到我需要的东西, 我写这个来找到 UTC 时区:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
df.setTimeZone(TimeZone.getTimeZone("Europe/Istanbul"));
String gmtTime = df.format(new Date());
Date gmtTime_ =null;
try {
gmtTime_ = df.parse(gmtTime);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但我需要UTC+2
时区,我怎样才能获得该时区?
答案 0 :(得分:1)
如果您愿意切换到一个不错的日期时间库而不是与Java捆绑在一起的臭名昭着的java.util.Date和java.util.Calendar类,那么请阅读下面的示例代码。
两个体面的Java库是Joda-Time,新的java.time package与Java 8捆绑在一起(受Joda-Time启发,由JSR 310定义)。
以下是一些使用Joda-Time 2.3的示例代码。
java.util.Date date = new java.util.Date();
// Convert a Date into a Joda-Time DateTime.
// Specify a time zone rather than rely on default.
DateTimeZone timeZone = DateTimeZone.forID( "Europe/Istanbul" );
DateTime dateTime = new DateTime( date, timeZone );
DateTime dateTimeUtc = dateTime.withZone( DateTimeZone.UTC );
转储到控制台...
System.out.println( "date: " + date );
System.out.println( "dateTime: " + dateTime );
System.out.println( "dateTimeUtc: " + dateTimeUtc );
跑步时......
date: Mon Mar 31 08:13:37 PDT 2014
dateTime: 2014-03-31T18:13:37.314+03:00
dateTimeUtc: 2014-03-31T15:13:37.314Z