`
tianyelina
  • 浏览: 84082 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA.两个日期相减实现

阅读更多
在java里面,两个日期相差多少天,如何相减呢?
取两个日期时间戳,然后相减,得出相差的毫秒书,然后换算成天。

import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class DateCal {
/**
  * @param args
  */
public static void main(String[] args) throws Exception {
  // TODO 自动生成方法存根
  //日期相减算出秒的算法
  Date date1 = new SimpleDateFormat("yyyy-mm-dd").parse("2006-06-08");
  Date date2 = new SimpleDateFormat("yyyy-mm-dd").parse("2006-06-12");
 
  long l = date1.getTime()-date2.getTime()>0 ? date1.getTime()-date2.getTime():
   date2.getTime()-date1.getTime();
 
  System.out.println(l/1000+"秒");
 
  //日期相减得到相差的日期
  long day = (date1.getTime()-date2.getTime())/(24*60*60*1000)>0 ? (date1.getTime()-date2.getTime())/(24*60*60*1000):
   (date2.getTime()-date1.getTime())/(24*60*60*1000);
 
  System.out.println("相差的日期: " +day);
 
}
}
分享到:
评论
2 楼 wayJava 2012-01-10  
endual 写道
你没有考虑月份啊 月份啊
如果              String dataa = "2006-05-29";
  String datab = "2006-06-01";

这样的话, 是相差2天, 那么实际的按照你的程序是27天啊



因为上面代码的mm小写了
1 楼 endual 2011-07-08  
你没有考虑月份啊 月份啊
如果              String dataa = "2006-05-29";
  String datab = "2006-06-01";

这样的话, 是相差2天, 那么实际的按照你的程序是27天啊

相关推荐

Global site tag (gtag.js) - Google Analytics