我从服务器收到了很长的数据,我必须将其解析为日期。我正在使用日历来执行此操作。
事实是,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/