将时间戳从毫秒转换为本地时区中的日期或日历

时间:2012-11-27 13:52:24

标签: java

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

2 个答案:

答案 0 :(得分: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())));

答案 1 :(得分:0)

如果您无法使用其中一个内置解析器,则可以执行以下操作:

  1. 将数字解析为+并转换为长。
  2. 使用此号码
  3. 创建Date个实例
  4. 使用以+zone结尾的日期格式将日期转换为字符串
  5. 使用输入
  6. 中的时区替换时区
  7. 使用相同的日期格式解析新字符串