java - 在java/android中获取错误的时区

标签 java android date time timezone

String = 26/8/2013 15:59;

我想将此日期转换为 GMT,但是应用以下代码后,我得到 EEST 时间而不是 GMT。

DateFormat df = new SimpleDateFormat("dd/MM/yyyy h:m");
df.setTimeZone(TimeZone.getTimeZone("UTC"));
df.parse(newDate);
Log.i(tag, df.parse(newDate).toString());

输出:

Mon Aug 26 18:59:00 EEST 2013

怎么了?

最佳答案

您的解析是正确的,不同之处只是您在创建 toString() 时用于显示的区域设置时区。我只是使用格式化输出来演示正确的格式。以下是详细示例:

final String time = "26/8/2013 15:59";
TimeZone timeZone = TimeZone.getTimeZone("UTC");
final String REQUEST_DATE_FORMAT = "dd/MM/yyyy h:m";

DateFormat format = new SimpleDateFormat(REQUEST_DATE_FORMAT);
Date localDate = format.parse(time);

// localDate.toString()
// PRINT. Mon Aug 26 15:59:00 EEST 2013

Calendar cal = Calendar.getInstance(timeZone);
cal.setTime(localDate);

format.setTimeZone(timeZone);
final String utcTime = format.format(cal.getTime());
// PRINT. 26/08/2013 12:59

关于java - 在java/android中获取错误的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18444864/

相关文章:

java - JSON 对象在数组中意外重复

android - 素材库(1.1.0-alpha08版本)BottomNavigationView的menuItem如何显示badge?

html - 'datePublished' 属性和 HTML 'lang' 属性

JavaScript:将 yyyy-mm-dd 快速解析为年月日数字

java - 如何知道在 Java 中使用进程构建器/运行时调用的进程是否已完成执行

java - 为特定的 JTable 单元格设置鼠标光标

java - 如何在 JavaFX 中获取阶段的关闭事件?

android - Android 浏览器 WIDTH 问题上的 Web 应用程序

android - View 在循环中膨胀期间,堆在 android 上耗尽内存

PHP MYSQL 插入日期语法