java 计算间隔天数,java 计算间隔的天数
首先给出一个错误的实现:
// time1, time2 分别是 UTC 毫秒间隔
public static boolean getDayInterval(long time1, long time2) {
long base = 24*3600*1000L;
long day1 = time1/base + 1;
long day2 = time2/base + 1;
return (day1 - day2);
}
上面的代码之所以错误,因为涉及到时区了,中国大陆的时区是 UTC + 8。
涉及到时区操作,使用 Calendar 类:
public static boolean isSameDay(long time1, long time2) {
Calendar calendar1 = Calendar.getInstance();
calendar1.setTimeInMillis(time1);
Calendar calendar2 = Calendar.getInstance();
calendar1.setTimeInMillis(time2);
return calendar1.get(Calendar.DAY_OF_MONTH) == calendar2.get(Calendar.DAY_OF_MONTH);
}
上面的代码可以判断两个时间,在本地时区中是不是同一天,但是怎样计算天数间隔呢?我们需要在 UTC 时间的基础上加上那 8 个小时,得到本地时区的毫秒数,然后再计算间隔天数,正确代码如下:
public static long getDayInterval(long time1, long time2) {
// 获得当前时区
TimeZone tz = TimeZone.getDefault();
// UTC毫秒加上这个偏移值,得到本地时区的时间
long delta = tz.getRawOffset();
long base = 24*3600*1000L;
long day1 = (time1+delta)/base + 1L;
long day2 = (time2+delta)/base + 1L;
System.out.println(new Date(time1));
System.out.println(new Date(time2));
System.out.println(day1);
System.out.println(day2);
return (day1-day2);
}
来源:https://www.cnblogs.com/allenwas3/p/8926895.html
java 计算间隔天数,java 计算间隔的天数相关推荐
- java前台计算date差_js前台计算两个日期的间隔时间
js前台计算两个日期的间隔时间(时间差) 原创 2017年08月28日 16:09:43 标签:javascript 1144 在后台传来两个时间字段,从中解析出两个字符串类型的日期格式 需要在前台解 ...
- java计算两个日期之间的天数(java计算两个日期之间的天数算法)
两个日期之间的天数要怎么计算? 两个日期之间的天数的计算=日期相减+1.比如:六月一号到六月三号,这之间是3天,分别是:一号.二号.三号,算式:3-1+1=3(天).同理,2001年到2002年是2年 ...
- Java 某个起始时间,固定的累加天数,计算周期
Java 某个起始时间,固定的一个天数相加,计算周期每次加过后的周期 前言 项目中有这么一个业务场景,数据库中某张表有个起始时间,和一个累加时间,比如2020-01-07,往后每次加3天为一个周期,到 ...
- Java计算两个字符串日期之间的天数差
Java计算两个字符串日期之间的天数差 调用方法: public static void main(String[] args) throws ParseException {String a = & ...
- Java计算两个时间段内的工作日天数
一般在OA系统中都会遇到计算员工这段时间内的工作天数. 这种有两种方式可以解决:一是调用第三方服务接口进行计算,二是自己在系统中写代码计算. 一的好处就是每年的节假日不用自己去维护直接用两个时间段就可 ...
- Java 计算任意两天之间相隔的天数
在学习了Java中的Date类相关的方法之后,我试着自己写了小程序可以计算任意两天之间相隔的天数,挺好用的. 设计思路: 运用Date类中提供的getTime()方法,获取输入的日期与1990-01- ...
- java 两个日期的天数_计算Java 8中两个日期之间的天数
我知道有很多关于如何获得的问题,但我想要和使用新的Java 8 Date api的例子. 我也知道JodaTime库,但我想要一种没有外部库的工作方式. 功能需要抱怨这些限制: 防止日期保存时间错误 ...
- java 计算日期相差天数_JAVA计算两个日期之间相差的天数
这是本人第一次写博客,主要计算两个日期之间相差的天数 import java.text.ParseException; import java.util.Date; import org.apache ...
- java calendar日期计算_利用Java中Calendar计算两个日期之间的天数和周数
前言 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别在哪呢? 比如有: 月份的定义 - 阳`(公)历 一年12 个月,每 ...
- java 根据开始日期 ,需要的工作日天数 ,计算工作截止日期,并返回截止日期
我也参考过其他的方案, 提供一个代码简洁的方案,具体性能没有测试过, 经过测试,跨年也可以正确计算截止日期: /*** 根据开始日期 ,需要的工作日天数 ,计算工作截止日期,并返回截止日期* @par ...
最新文章
- Dubbo原理何源码解析之服务暴露
- super() 函数??
- 聊聊C语言和指针的本质
- 计算机网络:子网划分、子网掩码、CIDR 、路由聚合相关计算详解
- 2019蓝桥杯省赛---java---C---4(质数)
- 4~20mA模拟输出(电流环)应用笔记(转)
- presto java_Presto Jdbc
- flash挂载到系统 spi_jffs2根文件系统挂载不上spi flash
- 精品课程教学网站中系统设计如何写
- 「日常温习」Hungary算法解决二分图相关问题
- 怎样将short[]数组转换成byte[]数组
- 函数最值题目及答案_高考数学攻克压轴题:圆锥曲线取值范围和最值问题解题模型...
- android 入门-git之上传本地代码到github
- 智能车制作pdf 王盼宝_智能车制作——从元器件、机电系统、控制算法到完整的智能车设计(Word+PDF+ePub+PPT)...
- oracle 字段带数字,解决Oracle字符串中包含数字、特殊符号的排序问题
- 逻辑学入门很简单 笔记 一些逻辑学常见概念
- winows服务器的ftp密码如何修改,windows怎么修改服务器ftp密码
- 恺撒密码算法 Java实现
- python 语料_用python将语料转化为可计算的形式
- 计算机导论 宋斌,宋斌(计算机科学与技术学院)老师 - 南京理工大学 - 院校大全...
热门文章
- 人民币对美元汇率中间价报6.7802元 上调167个基点
- 如何找到人生方向目标?
- 时隔一年,我又来捣鼓我家移动光猫了,你还不知道如何获取公网ip吗?
- 未完成:读书笔记01芝加哥大学论文写作指南_Kate L. Turabian
- 对微信部分改进的看法
- 土木/岩土期刊版面费/审稿费统计列表
- HTML Typo.css 中文网页重设与排版
- FAI自动部署debian
- BUFF67 DM蓝牙5.2双模热插拔PCB
- Flink Event Time / Processing Time / Ingestion Time (事件时间/处理时间/摄取时间)