System.currentTimeMillis()时间排序

唯一完美的番茄 2014-10-28 03:16:13
用System.currentTimeMillis()得到的时间然后进行了排序,输出时的时间格式化了一下。
但是输出的时间就不是连续的了,可得到的毫秒的时间是连续的。

我想知道是这里不能进行这样的排序吗?还是哪里的问题,有什么方便的解决方案呢?


import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;


public class TestTTime {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

String[] s = new String[]{
// "1414345500000",
// "1414344600000",
"1414343700000",
"1414342800000",
"1414341900000",
"1414341000000",
// "1414340100000",
// "1414339200000",
};

for(String ss: s){
long l = Long.valueOf(ss);
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(l);

System.out.println(formatter.format(l));
}
}

}


运行结果:
2014-10-27 01:15:00
2014-10-27 01:00:00
2014-10-27 12:45:00
2014-10-27 12:30:00
...全文
221 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 6 楼 shixitong 的回复:
这个没有疑问HH(24),hh(12) 但是楼主所谓的(时间就不是连续)是指?
已解决了,多谢。 是因为12小时计时,所以看来是不连续的;比如应该是1点完了应该是26号零点,而不是27号12点
shixitong 2014-10-28
  • 打赏
  • 举报
回复
这个没有疑问HH(24),hh(12) 但是楼主所谓的(时间就不是连续)是指?
  • 打赏
  • 举报
回复
引用 3 楼 whos2002110 的回复:
改正这样"yyyy-MM-dd HH:mm:ss" 试下
晕了。。。 看着了,这里的时间没改,多谢
  • 打赏
  • 举报
回复
引用 2 楼 whos2002110 的回复:
你机器不是24小时计时吧
开始——程序——设置——控制面板——区域和语言选项——区域选项——自定义——时间——时间格式 里面是大写的H呀,这应该是看我的运行环境吧?
whos2002110 2014-10-28
  • 打赏
  • 举报
回复
改正这样"yyyy-MM-dd HH:mm:ss" 试下
whos2002110 2014-10-28
  • 打赏
  • 举报
回复
你机器不是24小时计时吧
  • 打赏
  • 举报
回复
这。。都没遇到过嘛?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧