| Profile豆浆油条BlogLists | Help |
|
October 19 new Date(0)向来只知道new Date(0)是1970年1月1日
今天在laszlo里写new Date(1970,0,1,0,0).getTime()却得到了-28800000的答案,一除,相差了8小时,心想这肯定是因为我们在+8时区了,顿时很迷惑,到底该用new Date(0)还是new Date(1970,0,1,0,0)。
又在java里写了一个测试,果然,
Calendar cal = new GregorianCalendar();
cal.setTime(new Date(0)); assertEquals(1970, cal.get(Calendar.YEAR)); assertEquals(0, cal.get(Calendar.MONTH)); assertEquals(1, cal.get(Calendar.DAY_OF_MONTH)); assertEquals(8, cal.get(Calendar.HOUR_OF_DAY)); assertEquals(0, cal.getTimeInMillis()); Calendar cal2 = new GregorianCalendar(1970, 0, 1, 0, 0, 0);
assertEquals(0, cal2.getTimeInMillis() + cal2.get(Calendar.ZONE_OFFSET)); 想想也对,Date是带着TimeZone信息的,而这个时间0点又不能因为地区的不同而有不同的含义,嗯……这下认识到了
在laszlo中的写法就是
var tempt=new Date(1970, 0, 1);
if (tempt.getTime()==tempt.getTimezoneOffset()*60000); 而我想,在我需要的这个地方还是用0比较好,而不是各个地区的"0"。 TrackbacksThe trackback URL for this entry is: http://b051.spaces.live.com/blog/cns!9E2D0BC71827D4E9!230.trak Weblogs that reference this entry
|
|
|