前言

究竟什么是一个 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小时内与您取得联系。