Java计算两个日期相差的天数

悠悠 2022-10-10 11:26 350阅读 0赞
  1. import java.text.ParseException;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Calendar;
  4. import java.util.Date;
  5. public class test16 {
  6. /** * @param args * @throws ParseException */
  7. public static void main(String[] args) throws ParseException {
  8. // TODO Auto-generated method stub
  9. SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  10. Date d1=sdf.parse("2012-09-08 10:10:10");
  11. Date d2=sdf.parse("2012-09-15 00:00:00");
  12. System.out.println(daysBetween(d1,d2));
  13. System.out.println(daysBetween("2012-09-08 10:10:10","2012-09-15 00:00:00"));
  14. }
  15. /** * 计算两个日期之间相差的天数 * @param smdate 较小的时间 * @param bdate 较大的时间 * @return 相差天数 * @throws ParseException */
  16. public static int daysBetween(Date smdate,Date bdate) throws ParseException
  17. {
  18. SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  19. smdate=sdf.parse(sdf.format(smdate));
  20. bdate=sdf.parse(sdf.format(bdate));
  21. Calendar cal = Calendar.getInstance();
  22. cal.setTime(smdate);
  23. long time1 = cal.getTimeInMillis();
  24. cal.setTime(bdate);
  25. long time2 = cal.getTimeInMillis();
  26. long between_days=(time2-time1)/(1000*3600*24);
  27. return Integer.parseInt(String.valueOf(between_days));
  28. }
  29.   /**    *字符串的日期格式的计算    */
  30. public static int daysBetween(String smdate,String bdate) throws ParseException{
  31. SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  32. Calendar cal = Calendar.getInstance();
  33. cal.setTime(sdf.parse(smdate));
  34. long time1 = cal.getTimeInMillis();
  35. cal.setTime(sdf.parse(bdate));
  36. long time2 = cal.getTimeInMillis();
  37. long between_days=(time2-time1)/(1000*3600*24);
  38. return Integer.parseInt(String.valueOf(between_days));
  39. }
  40. }

发表评论

表情:
评论列表 (有 0 条评论,350人围观)

还没有评论,来说两句吧...

相关阅读

    相关 计算日期天数

    两个日期的天数差,解决这类问题的统一思想是:把原区间问题统一到确定区间上去,如本问题中将特定问题统一到与一个原点时间(0000年01月01日)的天数差,将两个日期与原点的日期天