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

前言

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

比如有:

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

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

实际上, 在历史上有着许多种纪元的方法它们的差异实在太大了, 比如说一个人的生日是 "八月八日" 那么一种可能是阳 (公) 历的八月八日, 但也可以是阴 (农) 历的日期所以为了计时的统一, 必需指定一个日历的选择那现在最为普及和通用的日历就是 "Gregorian Calendar" 也就是我们在讲述年份时常用 "公元几几年"Calendar 抽象类定义了足够的方法, 让我们能够表述日历的规则 Java 本身提供了对 "Gregorian Calendar" 规则的实现我们从

Calendar.getInstance()

中所获得的实例就是一个 "GreogrianCalendar" 对象(与您通过

new GregorianCalendar()

获得的结果一致)下面话不多说了, 来看看本文的正文吧

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

计算出日期之间的天数:publicObjectcountTwoDate(ObjectstartDate,ObjectendDate)

{

if(StringUtils.isNotEmpty(startDate)&&StringUtils.isNotEmpty(endDate))

{

Datestart=(Date)startDate;

Dateend=(Date)endDate;

Calendarcal=Calendar.getInstance();

cal.setTime(start);

longtime1=cal.getTimeInMillis();

cal.setTime(end);

longtime2=cal.getTimeInMillis();

longbetween_days=(time2-time1)/(1000*3600*24);

returnInteger.parseInt(String.valueOf(between_days));

}

returnnull;

}

再计算出周数:publicObjectcountTwoDayWeek(ObjectstartDate,ObjectendDate)

{

if(StringUtils.isNotEmpty(startDate)&&StringUtils.isNotEmpty(endDate))

{

Datestart=(Date)startDate;

Dateend=(Date)endDate;

Calendarcal=Calendar.getInstance();

cal.setTime(start);

longtime1=cal.getTimeInMillis();

cal.setTime(end);

longtime2=cal.getTimeInMillis();

longbetween_days=(time2-time1)/(1000*3600*24);

Doubledays=Double.parseDouble(String.valueOf(between_days));

if((days/7)>0&&(days/7)<=1){

// 不满一周的按一周算

return1;

}elseif(days/7>1){

intday=days.intValue();

if(day%7>0){

returnday/7+1;

}else{

returnday/7;

}

}elseif((days/7)==0){

return0;

}else{

// 负数返还 null

returnnull;

}

}

returnnull;

}

来源: http://www.phperz.com/article/18/0222/359140.html

java 两日期的周数_利用 Java 中 Calendar 计算两个日期之间的天数和周数相关推荐

  1. java calendar日期计算_利用Java中Calendar计算两个日期之间的天数和周数

    前言 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别在哪呢? 比如有: 月份的定义 - 阳`(公)历 一年12 个月,每 ...

  2. java日期相差周_利用Java中Calendar计算两个日期之间的天数和周数

    前言 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别在哪呢? 比如有: 月份的定义 - 阳`(公)历 一年12 个月,每 ...

  3. java计算两个数组的交集_回顾面试题:计算两个数组交集

    背景 工作多年,语言经历过C#,JAVA.但是做过的项目大多以业务系统为主,曾经做过一些基础架构的工作,但算法一直在工作中应用的比较少,导致多年之后基本都忘记完了.上一次面试过程中就有一个算法题,我能 ...

  4. java 根据ip获取mac地址_利用java如何根据IP获取mac地址

    利用java如何根据IP获取mac地址 发布时间:2020-11-25 15:49:42 来源:亿速云 阅读:74 作者:Leah 利用java如何根据IP获取mac地址?针对这个问题,这篇文章详细介 ...

  5. oracle中那个日期怎么相减_二手车鉴定中最容易混淆的日期读法,你会是那个读错的人吗?...

    今天我们的这篇文章显然是跟时间有关系,那就是我们在二手车鉴定过程中经常用到的日期鉴定方法. 为何要写这篇文章,那是因为前几天的一段经历! 前一段时间下午的时候,在路边看到了一个某公司的验车服务,一个评 ...

  6. python日期转化成周数_[转]浅析使用python计算两个日期间隔天数﹑周数和指定若干天后对应的日期等...

    >>> import datetime >>> help(datetime) http://docs.python.org/library/datetime.htm ...

  7. java 读取excel 合并单元格_利用java读写Excel文件、合并单元格

    一般的页眉页脚都分为三个部分,左,中,右三部分,利用如下代码可实现插入页眉页脚 java 代码publicstaticvoidsetHeader(WritableSheet dataSheet,Str ...

  8. java读二进制bin文件内容_利用Java读取二进制文件示例详细解说

    前言 此文主要给大伙介绍了关于Java读取二进制文件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 读Hex写CSV data目录下有little-endian bin文 ...

  9. Calendar计算两个日期之间的天数和周数

    每天一篇开发日记,轻松快乐每一天!今天介绍的是利用java,Calendar类计算出两个日期之间的天数和周数的算法! 计算出日期之间的天数: public Object countTwoDate(Ob ...

最新文章

  1. Google经典面试题解析
  2. Web UI设计的关键要素!
  3. Idea控制台中文乱码解决方案
  4. java mongoTemplate的group统计
  5. linux安装elasticsearch5.5
  6. android+联系服务器时间,android配置时间服务器+亚洲主要的授时服务器
  7. 顺利通过EMC实验(9)
  8. 漫画:什么是删库跑路?
  9. [转]将c#中datagridview中的数据导出到excel中
  10. cytoscape使用方法_关于这种“网络模块”和“模块饼图”的可视化方法
  11. 使用java解压GZip文件
  12. PSV遭到破解!reF00D让你在低版本执行新游戏
  13. php怎么写炫彩字,Photoshop打造超酷的炫彩字
  14. XHR>>name不显示sug
  15. 项目中对数据库的操作
  16. 172 Factorial Trailing Zeroes(阶乘后的零)————附带详细思路和代码
  17. HTML简易滚动图片
  18. 2016计算机考研经验,2016大连理工大学计算机考研经验(示例代码)
  19. 频率分辨率的一些分析
  20. 组播屏幕共享、Android屏幕共享开发小结

热门文章

  1. python实验室公众号_计算机算法与程序设计(python),中国大学MOOC(慕课)答案公众号搜题...
  2. 注册页面(HTML+css)
  3. 从防御者视角看APT攻击
  4. C++复习(五)——排列组合杨辉三角
  5. DolphinDB使用案例2:数据表分区
  6. 如何帮助孩子结交新朋友
  7. 【搜索】 来自风平浪静的明天
  8. 【闪电侠学netty】第1章 即时聊天系统简介
  9. Vnode -- 理解
  10. 记一次android程序反编译并二次打包的过程