比如我定2天时间过期
开始时间20060805172313000
和现在10号时间比肯定过期了,
通过gettime(),得到毫秒再相减,再和2天(2×24×60×60×1000)比较大小是可以 的
但如果是 30天 我定义long s =30×24×60×60×1000;这样肯定是不对的 ,溢出了
有没有什么好办法啊
开始时间20060805172313000
和现在10号时间比肯定过期了,
通过gettime(),得到毫秒再相减,再和2天(2×24×60×60×1000)比较大小是可以 的
但如果是 30天 我定义long s =30×24×60×60×1000;这样肯定是不对的 ,溢出了
有没有什么好办法啊
怎么比啊??
Date olddate;
//给过期时间赋值
olddate = new Date("2006/08/08");
//给过期时间加上2天
olddate.setDate(olddate.getDate() + 2);
//和现在比较
Date nowdate = new Date(); if(nowdate.after(olddate)){
System.out.println("已经过期");
}else{
System.out.println("没过期");
}
long s =30×24×60×60×1000这样就可以了,哪里需要这么复杂啊。
s的值是个负直了,还怎么比啊大哥
这是我做过的日期相差多少天的例子,自己看吧,不懂再问我,我msn:[email protected] sdf = new SimpleDateFormat( "yyyyMMdd" );
sdf.setTimeZone( TimeZone.getTimeZone( "Asia/Tokyo" ) );
String strSysDate = sdf.format( new Date() );
String strDate = "2006-06-06";
int date = Integer.parseInt(strSysDate.substring(6,8));
int month = Integer.parseInt(strSysDate.substring(4,6));
int year = Integer.parseInt(strSysDate.substring(0,4););
Date d1 = new Date(Integer.parseInt(strDate.substring(0,4)),
Integer.parseInt(strDate.substring(5,7)),
Integer.parseInt(strDate.substring(8,10)));
Date d2 = new Date(year,month,date);
long date1 = d1.getTime() / (1000l*60*60*24);
long date2 = d2.getTime() / (1000l*60*60*24);
int ii = Integer.parseInt(String.valueOf(date2-date1));System.out.println("结果====>>>>"+ii);
lip009(深蓝忧郁
你的方法有些过时了
setDate();getDate()过时
Date类是已经不推荐使用了,但是你完全可以把日期对象换成java.util.Calendar或是java.sql.Timestamp
long s =30×24×60×60×1000这样就可以了,哪里需要这么复杂啊。
s的值是个负直了,还怎么比啊大哥-----
靠,窜改我的代码!!!
我写的明明是 long s =30l×24×60×60×1000你把那个l放哪里了?????????????????????