如何在Android中将msecs转换为时间字符串?

时间:2014-09-15 04:05:29

标签: java android

我想在android java代码中将msecs转换为日期时间字符串,例如:

    msecs = 60*60*1000;
    SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
    String dateString = formatter.format(new Date(msecs * 1L));

但结果是19:00:00,我希望输出为1:00:00。

这段代码出了什么问题?

1 个答案:

答案 0 :(得分:1)

您需要将时区设置为“GMT”,例如:

import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.TimeZone;
public class Dater {


    public static void main(String[] argv) {
       int msecs = 60*60*1000;
       SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
       formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
       String dateString = formatter.format(new Date(msecs * 1L));      
       System.out.println(dateString);
    }
}