使用时区信息以毫秒为单位转换日期时间

时间:2015-08-03 20:43:05

标签: java android datetime-format

我有一个简单的问题。如何实现此日期格式1438117140000+0300。第一部分1438117140000以毫秒为单位的时间,我转换没有问题,第二部分有时区信息是我的头疼,如何得到它??

3 个答案:

答案 0 :(得分:0)

看起来+0300意味着距离GMT +3小时。所以将0300(3小时)转换为毫秒并添加到1438117140000.然后转换为日期时间,因为你已经

答案 1 :(得分:0)

您可以将String.format用于此目的:

Date now = new Date();
System.out.println(String.format("%tQ%tz", now, now));

执行刚打印出来的代码:

1438635740416+0300

日期/时间的转换在documentation中指定。在这里,我使用了以下两个转换字符:

  

' Q':从1开始的纪元开始以来的毫秒数   1970年1月00:00:00 UTC,即Long.MIN_VALUE到Long.MAX_VALUE。

     

' z':RFC 822样式数字时区偏离GMT,例如-0800。这个   值将根据夏令时的需要进行调整。对于   long,Long和Date使用的时区是默认时区   这个Java虚拟机的实例。

答案 2 :(得分:0)

将您所拥有的价值拆分为' +'然后将3小时(以毫秒为单位)添加到split方法返回的数组的第一个值。