0

我得到一个带有毫秒和时区的字符串,例如“1353913216000+0000”,所以基本上是UTC时间。如何将其转换为我的当地时间?我不认为我可以使用 DateFormat,没有毫秒模式。

4

2 回答 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

如果您不能使用内置解析器之一,您可以执行以下操作:

  1. 解析出数字+并转换为长整数。
  2. 使用此编号创建Date实例
  3. 使用以 结尾的日期格式+zone将日期转换为字符串
  4. 用输入中的时区替换时区
  5. 解析具有相同日期格式的新字符串
于 2012-11-27T14:03:43.730 回答