如何设置时区UTC + 2?

时间:2014-03-30 21:25:46

标签: java android date-format android-date

我已多次搜索,但我找不到我需要的东西, 我写这个来找到 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时区,我怎样才能获得该时区?

1 个答案:

答案 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