电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

JAVA取得两个日期之间所差天数实例

3页
  • 卖家[上传人]:枫**
  • 文档编号:491164279
  • 上传时间:2022-09-28
  • 文档格式:DOC
  • 文档大小:17.50KB
  • / 3 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、JAVA取得两个日期之间所差天数实例 鉴于java.util.Date类的绝大多数方法都不建议使用了,所以我也就不能够利用Date里面方便的getYear(),getMonth(),getDay()方法来计算日期差了现在的JRE都可以自动升级,谁知道哪天SUN突然把Date这些API去掉了,那我就欲哭无泪了。不过话又说回来就算是能够使用这些方法,我们似乎也不太好算,因为每个月的日期数都不一样,如果单纯用两个日期的年月日信息来计算日期差还真是有些麻烦。基于以上两点原因,我在我的程序里采用了GregorianCalendar做为日期计算的主力军。这个类有一些很实用的方法,如get(int),这个方法可以获得当前日期类的各项日期指标。比如我们有一个日期类名为gcDate,要获取它所在的年,月,日,至需要这么做:gcDate.get(Calendar.YEAR), gcDate.get(Calendar.MONTH)以及gcDate.get(Calendar.DATE)。不过由于使用这种方法获得的日期和月份都是日期类所指定的年份的,所以如果我们知道两个日期在同一年份的话才能使用gcDate1.

      2、get(Calendar.DATE)- gcDate2.get(Calendar.DATE)来获得日期差,否则就不能这么做。 所以如果想要获得不在同一年份的日期差的话就需要用到另一个有用的方法:GregorianCalendar.add(int, int),这个方法可以让我们在日期类指定的日期指标(如年,月,日等)上加上一个数字,这个数字可以是正数也可以为负数。 其中第一个参数指定所要增加的指标,第二个参数指定增加的数量。例如我们调用gcDate.add(Calendar.DATE,1)的话,如果gcDate原来代表的时间为2007-07-24,那么调用之后就变成2007-07-25了。于是我们就可以这样计算日期差:让日期比较小的那个日期用add函数逐渐“逼近”那个较大的日期,直到两个日期完全相等为止。计数器中包含的数量即为两个日期的差值。 下面我给出了多个的计算日期差的方法,主要包含两个版本,一个版本参数为格式化字符串,另一个版本参数为GregorianCalendar。功能包括计算“今天与未来的某一天之间的日期差”和“给定两个日期的日期差”。主要的计算集中在最后一个daysBetw

      3、een函数上,该函数接受两个GregorianCalendar类作为参数,并可以计算出两个日期之间的日期差,如果用户给出的较大的日期和较小的日期顺序颠倒的话,该函数会返回一个负数值。 /* *返回未来的某一天和今天所差的日期数 *注意,这里要clone一个新的日期以免对原始日期类造成的修改。 *而在daysBetween(GregorianCalendarpFormer,GregorianCalendarpLatter)就 *直接处理而不进行clone动作,因为这里已经做了:) */ publicstaticint daysBetween(GregorianCalendar pFurtherDay) GregorianCalendar vToday = new GregorianCalendar(); GregorianCalendar vFurtherDay = (GregorianCalendar) pFurtherDay.clone(); return daysBetween(vToday,vFurtherDay); /*上面函数的String版本 */ publicstatic

      4、int daysBetween(String pFurtherDayStr) GregorianCalendar vFurtherDay = DateUtil.parse2Cal(pFurtherDayStr); GregorianCalendar vToday = new GregorianCalendar(); return daysBetween(vToday,vFurtherDay); /*返回较晚的时间(latter)与较早的时间(former)所差的天数*/ publicstaticint daysBetween(String pFormerStr,String pLatterStr) GregorianCalendar pFormer = DateUtil.parse2Cal(pFormerStr); GregorianCalendar pLatter = DateUtil.parse2Cal(pLatterStr); return daysBetween(pFormer,pLatter); /*返回较晚的时间(latter)与较早的时间(former)所差的天数*/pu

      5、blicstaticint daysBetween(GregorianCalendar pFormer,GregorianCalendar pLatter) GregorianCalendar vFormer = pFormer,vLatter = pLatter; boolean vPositive = true; if( pFormer.before(pLatter) ) vFormer = pFormer; vLatter = pLatter; else vFormer = pLatter; vLatter = pFormer; vPositive = false; vFormer.set(Calendar.MILLISECOND,0); vFormer.set(Calendar.SECOND,0); vFormer.set(Calendar.MINUTE,0); vFormer.set(Calendar.HOUR_OF_DAY,0); vLatter.set(Calendar.MILLISECOND,0); vLatter.set(Calendar.SECOND,0); vLatter.set(Calendar.MINUTE,0); vLatter.set(Calendar.HOUR_OF_DAY,0); int vCounter = 0; while(vFormer.before(vLatter) vFormer.add(Calendar.DATE, 1); vCounter+; if( vPositive) return vCounter; else return -vCounter;

      《JAVA取得两个日期之间所差天数实例》由会员枫**分享,可在线阅读,更多相关《JAVA取得两个日期之间所差天数实例》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.