全网整合营销服务商

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

免费咨询热线: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根据开始时间和结束时间及周几计算日期的示例代码  # 计算出  # 每个月  # 是一个  # 让我们  # 说了  # 如有  # 一是  # 不多  # 中有  # 几年  # 但也  # 来看看  # 与您  # 太大了  # 之分  # 个月  # 在历史上  # 各不同  # 抽象类  # 有疑问 


相关文章: 北京建设网站制作公司,北京古代建筑博物馆预约官网?  营销式网站制作方案,销售哪个网站招聘效果最好?  贸易公司网站制作流程,出口贸易网站设计怎么做?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何制作网站标识牌,动态网站如何制作(教程)?  如何用PHP快速搭建CMS系统?  购物网站制作公司有哪些,哪个购物网站比较好?  如何获取上海专业网站定制建站电话?  已有域名如何快速搭建专属网站?  网站微信制作软件,如何制作微信链接?  如何用虚拟主机快速搭建网站?详细步骤解析  开封网站制作公司,网络用语开封是什么意思?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  建站之星如何一键生成手机站?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  建站主机选购指南:核心配置优化与品牌推荐方案  如何用低价快速搭建高质量网站?  如何打造高效商业网站?建站目的决定转化率  javascript基本数据类型及类型检测常用方法小结  建站之星客服服务时间及联系方式如何?  建站之星如何助力网站排名飙升?揭秘高效技巧  做企业网站制作流程,企业网站制作基本流程有哪些?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  如何通过虚拟机搭建网站?详细步骤解析  网站制作公司排行榜,四大门户网站排名?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  C++如何使用std::optional?(处理可选值)  音响网站制作视频教程,隆霸音响官方网站?  如何快速查询域名建站关键信息?  家具网站制作软件,家具厂怎么跑业务?  如何规划企业建站流程的关键步骤?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  建站之星好吗?新手能否轻松上手建站?  c++怎么用jemalloc c++替换默认内存分配器【性能】  Python路径拼接规范_跨平台处理说明【指导】  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  如何通过FTP服务器快速搭建网站?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  如何选择域名并搭建高效网站?  宝塔建站无法访问?如何排查配置与端口问题?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  如何选择高性价比服务器搭建个人网站?  建站之星导航配置指南:自助建站与SEO优化全解析  建站之星后台管理如何实现高效配置?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  c++ stringstream用法详解_c++字符串与数字转换利器  如何在腾讯云服务器快速搭建个人网站?  如何快速搭建高效WAP手机网站? 

您的项目需求

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