java System.currentTimeMillis()毫秒值和具体日期值互相转换


System.currentTimeMillis()与日期 间是可以相互转换的,通过

SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String dateStr = dateformat.format(System.currentTimeMillis());

可以获取如“ 2016-09-02 23:02:17 ”这样的一个字符串,但是反过来呢?如果给我们一个“ 2016-09-02 23:02:17 ”字符串,我们能否得到当前日期对应的毫秒值呢? 答案是肯定的。

SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {

       long time = dateformat.parse("2016-09-02 23:02:17").getTime();

       System.out.println(time);

}

catch (ParseException e) {

                     e.printStackTrace();

}

输出:1472828537000; 
由此可见,毫秒值与日期之间是可以互转的。

总结:测试时候可能会出现当前获取的毫秒值转换为日期后,再转为毫秒值时候 与前者不一致,这个是因为获取的是毫秒值,而转换为日期后是以秒为单位了,所以转换后才会出现这种情况。 解决方法:在时间格式化的时候写成

SimpleDateFormat dateformat = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss.SSS”);


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM