Android:SimpleDateFormat不断增加1小时的时间

时间:2012-04-29 17:13:42

标签: android time simpledateformat

我正在使用currentTimeMillis();来获取开始时间,然后再使用它来获得结束时间。然后我使用delete start from end并获得一个值,即两者之间的持续时间。我使用SimpleDateFormat来使所有这些值非常可读。唯一的事情是,当我使用10秒(或300等)的低值而不是完整的长号(即1335718053126)时,我似乎正在01:00:10或01:02:12等所有人我的输出?事实上,如果我只是要求SimpleDateFormat输出hh:mm:ss值而不是0值,则读取01:00:00。

任何人都知道这是为什么?

如果其他人需要时间格式化解决方案,那么找到这个简洁的小代码。 Source link

public String getNiceTime(long time) {     

    String format = String.format("%%0%dd", 2);
    String seconds = String.format(format, time % 60);
    String minutes = String.format(format, (time % 3600) / 60);
    String hours = String.format(format, time / 3600);
    String outPutTime =  hours + ":" + minutes + ":" + seconds;
    return outPutTime;
}

1 个答案:

答案 0 :(得分:2)

mySimpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));

说明:您可能居住在GMT + 1时区,除非您指定另一个时区,否则您的格式化程序将选择您当前的格式化程序,因此它将0小时视为GMT,而您认为GMT + 1时,它输出1小时