全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

利用Java中Calendar计算两个日期之间的天数和周数

前言

究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历、阴(农)历之分。它们的区别在哪呢?

比如有:

月份的定义 - 阳`(公)历 一年12 个月,每个月的天数各不同;阴(农)历,每个月固定28天

每周的第一天 - 阳(公)历星期日是第一天;阴(农)历,星期一是第一天

实际上,在历史上有着许多种纪元的方法。它们的差异实在太大了,比如说一个人的生日是"八月八日" 那么一种可能是阳(公)历的八月八日,但也可以是阴(农)历的日期。所以为了计时的统一,必需指定一个日历的选择。那现在最为普及和通用的日历就是 "Gregorian Calendar"。也就是我们在讲述年份时常用 "公元几几年"。Calendar 抽象类定义了足够的方法,让我们能够表述日历的规则。Java 本身提供了对 "Gregorian Calendar" 规则的实现。我们从 Calendar.getInstance() 中所获得的实例就是一个 "GreogrianCalendar" 对象(与您通过 new GregorianCalendar() 获得的结果一致)。下面话不多说了,来看看本文的正文吧。

利用java中Calendar类计算出两个日期之间的天数和周数的算法!

计算出日期之间的天数:

public Object countTwoDate(Object startDate, Object endDate) 
 { 
  if(StringUtils.isNotEmpty(startDate) && StringUtils.isNotEmpty(endDate)) 
  { 
   Date start=(Date)startDate; 
   Date end = (Date)endDate; 
   Calendar cal=Calendar.getInstance(); 
   cal.setTime(start); 
   long time1=cal.getTimeInMillis(); 
   cal.setTime(end); 
   long time2=cal.getTimeInMillis(); 
   long between_days=(time2-time1)/(1000*3600*24); 
   return Integer.parseInt(String.valueOf(between_days)); 
  } 
  return null; 
 } 

再计算出周数:

public Object countTwoDayWeek(Object startDate, Object endDate) 
 { 
  if(StringUtils.isNotEmpty(startDate) && StringUtils.isNotEmpty(endDate)) 
  { 
   Date start=(Date)startDate; 
   Date end = (Date)endDate; 
   Calendar cal=Calendar.getInstance(); 
   cal.setTime(start); 
   long time1=cal.getTimeInMillis(); 
   cal.setTime(end); 
   long time2=cal.getTimeInMillis(); 
   long between_days=(time2-time1)/(1000*3600*24); 
   Double days=Double.parseDouble(String.valueOf(between_days)); 
   if((days/7)>0 && (days/7)<=1){ 
    //不满一周的按一周算 
    return 1; 
   }else if(days/7>1){ 
    int day=days.intValue(); 
    if(day%7>0){ 
     return day/7+1; 
    }else{ 
     return day/7; 
    } 
   }else if((days/7)==0){ 
    return 0; 
   }else{ 
    //负数返还null 
    return null; 
   } 
  } 
  return null; 
 } 

总结

以上就是利用Java中的Calendar计算两个日期之间天数和周数的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。


# calendar计算日期差  # java  # calendar  # 天数  # java比较日期相差天数  # java Date获取本月的开始时间与结束时间  # java获取指定开始时间与结束时间之间的所有日期  # java根据开始时间结束时间计算中间间隔日期的实例代码  # Java计算两个日期时间之间的天数最简方法  # Java编程实现计算两个日期的月份差实例代码  # java计算两个日期之前的天数实例(排除节假日和周末)  # Java简单计算两个日期月数差的方法  # java计算两个日期中间的时间  # JAVA计算两个日期相差的实例  # Java根据开始时间和结束时间及周几计算日期的示例代码  # 计算出  # 每个月  # 是一个  # 让我们  # 说了  # 如有  # 一是  # 不多  # 中有  # 几年  # 但也  # 来看看  # 与您  # 太大了  # 之分  # 个月  # 在历史上  # 各不同  # 抽象类  # 有疑问 


相关文章: 制作营销网站公司,淘特是干什么用的?  建站之星如何快速更换网站模板?  5种Android数据存储方式汇总  香港服务器建站指南:免备案优势与SEO优化技巧全解析  已有域名和空间,如何快速搭建网站?  已有域名如何免费搭建网站?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  建站主机是什么?如何选择适合的建站主机?  网站制作企业,网站的banner和导航栏是指什么?  如何设计高效校园网站?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  建站主机选哪种环境更利于SEO优化?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  html制作网站的步骤有哪些,iapp如何添加网页?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  如何正确下载安装西数主机建站助手?  如何选择高效响应式自助建站源码系统?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  如何将凡科建站内容保存为本地文件?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  北京网站制作网页,网站升级改版需要多久?  如何通过WDCP绑定主域名及创建子域名站点?  专业商城网站制作公司有哪些,pi商城官网是哪个?  宝塔Windows建站如何避免显示默认IIS页面?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  如何通过多用户协作模板快速搭建高效企业网站?  如何选择靠谱的建站公司加盟品牌?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  建站之星24小时客服电话如何获取?  如何解决ASP生成WAP建站中文乱码问题?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  如何续费美橙建站之星域名及服务?  教学论文网站制作软件有哪些,写论文用什么软件 ?  建站之家VIP精选网站模板与SEO优化教程整合指南  Android自定义listview布局实现上拉加载下拉刷新功能  广德云建站网站建设方案与建站流程优化指南  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  ,有什么在线背英语单词效率比较高的网站?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  如何高效完成自助建站业务培训?  如何用IIS7快速搭建并优化网站站点?  如何自定义建站之星网站的导航菜单样式?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何快速生成可下载的建站源码工具? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。