我正在使用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;
}
答案 0 :(得分:2)
mySimpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
说明:您可能居住在GMT + 1时区,除非您指定另一个时区,否则您的格式化程序将选择您当前的格式化程序,因此它将0小时视为GMT,而您认为GMT + 1时,它输出1小时