java中有关date类的问题

多维世界 2012-05-22 08:47:02
下面的程序中,请问将time定义为-1000L的意思,与time定义为1000L有什么不同

import java.util.Date;
import java.text.SimpleDateFormat;
public class Example7_1{
public static void main(String args[]){
SimpleDateFormat matter1=new SimpleDateFormat("北京时间yyyy-MM-dd HH:mm:ss(a)(EE)");
long time=-1000L;
Date date=new Date(time);
System.out.println(time+"日期是: "+matter1.format(date));
time=1000L;
date =new Date(time);
System.out.println(time+"日期是: "+matter1.format(date));
}
}
...全文
240 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
古市轩 2012-05-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

纠正一下,基准好像是1970-01-01-00:00:00吧
[/Quote]
1970-01-01-00:00:00是格林尼治时间,不是北京时间,我们用的是北京时间,所以上面是以北京时间为基准算的!
ningtieming 2012-05-22
  • 打赏
  • 举报
回复
纠正一下,基准好像是1970-01-01-00:00:00吧
古市轩 2012-05-22
  • 打赏
  • 举报
回复
自1970-01-01 08:00:00以来的毫秒数。
传-1000则表示在1970-01-01 08:00:00这个时间的后面(离现在远),即减一秒,1970-01-01 07:59:59
传入1000则表示在1970-01-01 08:00:00这个时间的前面面(里现在近),即加一秒1970-01-01 08:00:01
查看jdk帮助文档会发现------以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。 这个时间转换为北京时间即为:1970-01-01 08:00:00
ckljd 2012-05-22
  • 打赏
  • 举报
回复
-1000日期是: 北京时间1970-01-01 07:59:59(上午)(星期四)
1000日期是: 北京时间1970-01-01 08:00:01(上午)(星期四)

62,620

社区成员

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

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