java - 如何在java中创建具有默认GMT时间的日历

标签 java android date calendar datetime-format

我从服务器收到了很长的数据,我必须将其解析为日期。我正在使用日历来执行此操作。

事实是,long 是从服务器转换而来的(它具有用户本地时间),但我将其作为默认 GMT,并将其转换为本地时间。

所以,它变换了两次。既然我做对了,那么如何在不将其更改为本地的情况下显示它(似乎默认情况下会这样做)?我的代码:

Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));           
calendar.setTimeInMillis(dateLong);
SimpleDateFormat format1 = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
format1.format(cal.getTime());

最佳答案

不要使用Calendar,而是使用SimpleDateFormat。下面的代码显示了正确的结果。

    SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    df.setTimeZone(TimeZone.getTimeZone("GMT"));
    String result = df.format(dateLong);
    System.out.println(result);

关于java - 如何在java中创建具有默认GMT时间的日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46194193/

相关文章:

java - Spring data neo4j无法连接neo4j 2.2.1

java - 应用程序被重复打开

mysql - 查询以检查日期是否在两个月-日值之间

javascript - 获取特定日期的所有年份日期

java - TextField "umlauts"在 linux 上没有显示

java - 将观察者与主题耦合

java - 将 Crosswalk 13+ 的用户代理更改为 Cordova 中的 webview

android - 如何以编程方式从设置中获取默认屏幕超时时间?

android - 从java修改一个xml StateListDrawable

php - 如何在 PHP 中获取本地时区?