我得到一个带有毫秒和时区的字符串,例如“1353913216000+0000”,所以基本上是UTC时间。如何将其转换为我的当地时间?我不认为我可以使用 DateFormat,没有毫秒模式。
问问题
635 次
2 回答
1
你可以使用类日历
Calendar c= Calendar.getInstance(TimeZone.getTimeZone("GMT+2"));
c.setTime(new Date(System.currentTimeMillis()));
System.out.println(new Date(c.getTimeInMillis()+TimeZone.getTimeZone("GMT+2").getOffset(c.getTimeInMillis())));
于 2012-11-27T14:18:23.363 回答
0
如果您不能使用内置解析器之一,您可以执行以下操作:
- 解析出数字
+
并转换为长整数。 - 使用此编号创建
Date
实例 - 使用以 结尾的日期格式
+zone
将日期转换为字符串 - 用输入中的时区替换时区
- 解析具有相同日期格式的新字符串
于 2012-11-27T14:03:43.730 回答