读书人

关于用SimpleDateFormat进行日期格式化

发布时间: 2012-12-23 11:28:15 作者: rapoo

关于用SimpleDateFormat进行日期格式化的问题

??? 做了遮掩一个实验:

public static void main(String[] args) {long currentTime = System.currentTimeMillis();int timestamp = (int) (currentTime / 1000);System.out.println(currentTime);System.out.println((long)timestamp*1000);SimpleDateFormat dt=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(dt.format(new java.util.Date(currentTime)));System.out.println(dt.format(new java.util.Date((long)timestamp*1000)));}

?

做完以后输出是这样的:

130163625578813016362550002011-04-01 13:37:352011-04-01 13:37:35

?于是就奇怪了,最后new Date()里面的时间不相同,为什么格式化以后的日期却是相同的呢?

在群里面问了一下,答案是这样的:

?? 格式化的时候输入到秒,而两个时间只相差858毫秒,还不到一秒呢,也就是说你SimpeDateFormat里面的那个pattern只是精确到秒,所以就出现了上面那种情况,当二者相差不到1秒的时候,格式化出来当然就相同了。

读书人网 >编程

热点推荐