前言

究竟什么是一个 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计算两个日期之间天数和周数的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

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

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

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

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

    利用 Java 中 Calendar 计算两个日期之间的天数和周数 前言 究竟什么是一个 Calendar 呢? 中文的翻译就是日历, 那我们立刻可以想到我们生活中有阳 (公) 历阴 (农) 历之分它 ...

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

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

  4. java 读取excel 图片_利用Java+POI 读写Excel文档向Excel中插入图片

    一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象.它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97- ...

  5. java 对象复制 反射_利用Java反射机制实现对象相同字段的复制操作

    一.如何实现不同类型对象之间的复制问题? 1.为什么会有这个问题? 近来在进行一个项目开发的时候,为了隐藏后端数据库表结构.同时也为了配合给前端一个更友好的API接口文档(swagger API文档) ...

  6. java mysql jdbc 封装_利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包括增删改查、JavaBean反射原理,附源代码)...

    近期看老罗的视频,跟着完毕了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完毕对数据库的增删改查.当中查询这块,包含普通的查询和利用反射完毕的查询,主要包含以下几个函数接口 ...

  7. java界面设计股票_利用JAVA实现股票交易系统设计参考.doc

    利用JAVA实现股票交易系统设计参考 目 录 摘要1 关键词1 Abstract2 Key words2 1 概述3 1.1 Java体系结构3 1.2 Java的优点3 1.3 Java的应用3 2 ...

  8. java 方法数统计_利用Java简单实现一个代码行数统计器方法实例

    前言 哈喽,我是小黑, 最近学了java的输入输出流后一直心痒痒,总想找一点事情来做,所以用java代码来实现了一下统计代码的所有行数,看一下我上大学以来到底打了多少行. 先附上实现代码吧! pack ...

  9. java 生成pdf 乱码_利用java处理fop导出pdf的中文乱码问题解决方案

    本文的作用是,生成带中文的加密pdf格式的文件,防止被人修改. 在项目下建立docbook-xsl, fo-res, out, sample四个文件夹 docbook-xsl目录: 放从sourcef ...

最新文章

  1. File.separator或File.pathSeparator
  2. CSS属性中Display与Visibility
  3. PHP - declare tick
  4. Jenkins 流水线 获取git 分支列表_基于Jenkins的DevOps流水线实践教程
  5. SQL:两种获取时间类型日期部分的方法
  6. mqdf matlab,mexopenCV的配置学习过程
  7. smbus协议的command_SMBus接口信号/应用框图/帧格式
  8. 小米android安装包下载安装,小米应用商店安装包下载
  9. 运维基本功(六):Linux用户管理与远程管理
  10. 非线性最小二乘求解方法总结
  11. 手把手教你制作gif动图,一分钟轻松学会
  12. python数据挖掘-oneR算法
  13. 基于Python热点新闻关键词数据分析系统
  14. PHP验证身份证类(包含香港身份证校验)
  15. 2023年节假日数据放假补班数据json
  16. 科研论文课程幕课习题(第一二章)
  17. 贝壳找房 OLAP 平台实践
  18. Spring IOC系列学习笔记五:context:component-scan 节点解析
  19. 原来js可以这样用。类似51la.cnzz统计的js接口
  20. linux tomcat startup.sh,tomcat启动脚本startup.sh分析

热门文章

  1. NEFU大一暑假集训-树状数组
  2. L2-028 秀恩爱分得快 (25 分)
  3. 国外英文文化网站大全!
  4. 易语言mysql数据同步程序_易语言mssql和mysql数据自动同步源码
  5. SRA-Toolkit安装
  6. 使用monkey工具进行稳定性测试
  7. JAVA创建数组,储存学生成绩
  8. 极客时间 深入浅出gRPC 02 客户端调用
  9. Docker从入门到实战
  10. 2015中学计算机考试题,2015初中信息技术考试模拟试题(免费)含答案