Java计算两个日期时间之间的天数最简方法
有一种low的方式,就是你把两个时间都换成秒,然后除以一天的秒数,然后向上取整,就是算的天数。但是这么实现太low啦。
jdk有高级的API,我们为啥还要自己去实现呢,问题就是我们不知道。
所以,我在这写个笔记,记录下,jdk 1.8 是怎么做的。
/** * 计算两个时间点之间的天数 */ private static void getBetweenDay() { LocalDate start = LocalDate.of(2018, 2, 12); LocalDate now = LocalDate.now(); System.out.println("两个时间之间的天数是:" + TimesUtils.getBetweenDay(start, now) + " 天。"); } /** * 计算两个时间点之间的天数 */ public static long getBetweenDay(LocalDate start, LocalDate end) { return end.toEpochDay() - start.toEpochDay(); }
后面的那个方法就是重点啦。
LocalDate.toEpochDay()。
将日期转换成Epoch 天,Epoch就是从1970-01-01(ISO)。开始的天数,和那个时间戳是一个道理,时间戳是秒数。
文章是简单了点,也许太简单了点。就当做个笔记吧。
感谢大家对我们的支持。
相关推荐
-
java实现简单日期计算功能
本文讲的java日期计算比较偏,用到的地方很少(比如获取今天所在周的周一或者周日,获取今天是本月的第几周...),这些方法是以前做项目遗留下来的,现在整理一下,跟大家分享. 工具类主要有一下方法: public static Date getFirstMondayOfMonth(String dateString, String dateFormat) throws Exception 获取指定月份的第一个星期一,比如2014-12 月的第一个周一是2014-12-01 public stati
-
常用的java日期比较和日期计算方法小结
本文为大家分享的都是常用的日期之间的比较方法,供以后参考. 热身:获取当前时间 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式 String nowDate = df.format(new Date());// new Date()为获取当前系统时间 注:楼主一直以为date类型不如string类型随心所欲,所以下面的比较都是string类型的date进行比较.如果你真的真的就是那么
-
JAVA计算两个日期相差的实例
在Java开发物流或是其他功能的时候会用到两个日期 相差多天的数据,所以整理了一下备用.调用方式: 复制代码 代码如下: long date1 = getDateTime("20121201");//可改成自己的日期类型,但以 "20121212"这种格式 long date2 = getDateTime("20121212"); int day = dateInterval(date1, date2); System.out.print
-
Java中使用LocalDate根据日期来计算年龄的实现方法
Java中和日期直接相关的类有很多,平时最常用到的就是java.util package下面的Date和Calendar,需要用到格式的时候还会用到java.text.SimpleDateFormat 首先吐槽一下,Date和Calendar实际用起来还是有一些别扭的,刚开始用的时候不熟悉,老是分不清Date和Calendar类的具体用法和区别. 而且Calendar类的set方法来设置日期时又有一些反人类,设置月份的时候总是要脑补一下减去1,比如要设置为2018年1月6日就要设置成2018,0
-
java计算两个日期中间的时间
java计算两个日期中间的时间 其中在数据库中有一个字段为datetime类型,想要计算两个日期之间过了多少天 多少小时 多少分钟. 思路为把时间换算为毫秒(与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量).然后利用毫秒的加减计算. 计算如下: public static String getDays(Date date){ Calendar cal=Calendar.getInstance(); cal.setTime(date); long oldTime=ca
-
利用Java中Calendar计算两个日期之间的天数和周数
前言 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别在哪呢? 比如有: 月份的定义 - 阳`(公)历 一年12 个月,每个月的天数各不同:阴(农)历,每个月固定28天 每周的第一天 - 阳(公)历星期日是第一天:阴(农)历,星期一是第一天 实际上,在历史上有着许多种纪元的方法.它们的差异实在太大了,比如说一个人的生日是"八月八日" 那么一种可能是阳(公)历的八月八日,但也可以是阴(农)历的日期.所以为了计时
-
利用Java计算某个日期是星期几
话不多说,下面来直接看示例代码 具体代码: DayOfWeek4Birthday.java package com.gua; import java.util.Calendar; import java.util.GregorianCalendar; import java.io.*; import static java.lang.System.out; /** * Created by 2gua on 2014/9/27. * DayOfWeek4Birthday:看看你查询的具体日子是星期
-
java计算两个日期之前的天数实例(排除节假日和周末)
如题所说,计算两个日期之前的天数,排除节假日和周末.这里天数的类型为double,因为该功能实现的是请假天数的计算,有请一上午假的为0.5天. 不够很坑的是每个日期都要查询数据库,感觉很浪费时间. 原则: 1.节假日存放在数据库中 实现步骤: 1.循环每个日期 2.判断每个日期是否为节假日或者为周末 3.若不是节假日和周末,天数+1 代码: public double calLeaveDays(Date startTime,Date endTime){ double leaveDays = 0;
-
Java编程实现计算两个日期的月份差实例代码
本文实例主要实现计算两个日期的月份差,具体如下: package com.forezp.util; import org.joda.time.DateTime; import org.joda.time.Months; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; /** * 在JAVA中,如何计算两个日期的月份差?<br> * * * @author Adm
-
Java简单计算两个日期月数差的方法
本文实例讲述了Java简单计算两个日期月数差的方法.分享给大家供大家参考,具体如下: /** * 获取两个日期相差的月数 * @param d1 较大的日期 * @param d2 较小的日期 * @return 如果d1>d2返回 月数差 否则返回0 */ public static int getMonthDiff(Date d1, Date d2) { Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInsta
随机推荐
- iOS Swift读取本地json文件报错的解决方法
- Nginx配置React项目Url后直接输入路由路径时报404问题的解决
- 首测:VISTA下杀毒软件横向评测报告
- js使用正则实现ReplaceAll全部替换的方法
- CentOS 6.3 安装配置Apache2.2.6的方法(源码编译安装)
- php下保存远程图片到本地的办法
- Asp 编码互转的研究和实现代码
- C#数字图像处理之图像缩放的方法
- mysql 5.7.18 winx64 免安装 配置方法
- javascript实现点击按钮让DIV层弹性移动的方法
- Node.js中安全调用系统命令的方法(避免注入安全漏洞)
- 用mysqldump备份和恢复指定表的方法
- jQuery中RadioButtonList的功能及用法实例介绍
- 通用javascript代码判断版本号是否在版本范围之间
- Javascript常用小技巧汇总
- MyBatis动态SQL标签用法实例详解
- 轻松实现python搭建微信公众平台
- Android中获取IMEI码的方法
- python粘包问题及socket套接字编程详解
- 简单了解mysql方言dialect
其他
- 易语言按钮点击后更改标题
- Nginx负载均衡,用什么来保证可以切换,怎么切换
- eclipse字体颜色推荐
- sqlserver自定义函数查询
- python自动登录网站
- pyqt写的设置界面
- 一次查询数据量过多会造成异常吗
- redis 登录之后删除指定key开头的
- unity物体旋转加缩放
- vue怎么处理微信扫码登录回调
- java异常堆栈 string
- tomcat7 server port没启动
- uniapp 分享怎么默认当前页并传递参数
- android 搜索结果匹配高亮
- go run 找不到工程目录下的包
- Java inerface 调用
- layer.open弹出层下拉框select失效
- vue 根据文件路径生成面包屑
- vs2019怎么创建win32程序
- python int float 限制小数点位数