java - 如何设置时区 UTC+2?

标签 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 时区,我怎样才能获得该时区?

最佳答案

如果您愿意切换到一个不错的日期时间库,而不是与 Java bundle 在一起的臭名昭著的麻烦 java.util.Date 和 java.util.Calendar 类,那么请阅读下面的示例代码。

两个不错的 Java 库是 Joda-Time和新的java.time package与 Java 8 bundle 在一起(受到 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

关于java - 如何设置时区 UTC+2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22750080/

相关文章:

java - 如何使用 ZK 在 UI 中迭代和加载属性文件值?

android - 获取 RecyclerView 中的可见项目

java - Simpledateformat 没有检查日期验证?

php - Laravel 5.1 date_format 验证允许两种格式

java - 在 android 中使用 java 代码的边框宽度和边框颜色?

java - 检查输入的字符串是否为整数

java - 在 MVP/MVC 架构中使用有状态 Bean 作为呈现器/ Controller 是个好主意吗?

java - 为什么不调用 AccountAuthenticator#getAuthToken()?

Android 抽屉导航 ExpandableListView

java - SimpleDateFormat 对于同一输入返回两个不同的结果