-
java如何计算时间天数差,Java计算两个时间的天数差与月数差 LocalDateTime,如何计算日期差的天数...
2021-03-30 08:03:10Java计算两个时间的天数差与月数差 LocalDateTime,如何计算日期差的天数/*** 计算两个时间点的天数差* @param dt1 第一个时间点* @param dt2 第二个时间点* @return int,即要计算的天数差*/public static int ...Java计算两个时间的天数差与月数差 LocalDateTime,如何计算日期差的天数
/**
* 计算两个时间点的天数差
* @param dt1 第一个时间点
* @param dt2 第二个时间点
* @return int,即要计算的天数差
*/
public static int dateDiff(LocalDateTime dt1,LocalDateTime dt2){
//获取第一个时间点的时间戳对应的秒数
long t1 = dt1.toEpochSecond(ZoneOffset.ofHours(0));
//获取第一个时间点在是1970年1月1日后的第几天
long day1 = t1 /(60*60*24);
//获取第二个时间点的时间戳对应的秒数
long t2 = dt2.toEpochSecond(ZoneOffset.ofHours(0));
//获取第二个时间点在是1970年1月1日后的第几天
long day2 = t2/(60*60*24);
//返回两个时间点的天数差
return (int)(day2 - day1);
}
@Test
public void testDay(){
LocalDateTime of1 = LocalDateTime.of(2018, 9, 25, 1, 1);//2018-9-25 01:01
LocalDateTime of2 = LocalDateTime.of(2019, 9, 25, 23, 16); //2019-9-25 23:16
System.out.println(dateDiff(of1,of2));//365
}
/**
* 获取两个时间点的月份差
* @param dt1 第一个时间点
* @param dt2 第二个时间点
* @return int,即需求的月数差
*/
public static int monthDiff(LocalDateTime dt1,LocalDateTime dt2){
//获取第一个时间点的月份
int month1 = dt1.getMonthValue();
//获取第一个时间点的年份
int year1 = dt1.getYear();
//获取第一个时间点的月份
int month2 = dt2.getMonthValue();
//获取第一个时间点的年份
int year2 = dt2.getYear();
//返回两个时间点的月数差
return (year2 - year1) *12 + (month2 - month1);
}
@Test
public void testMonth(){
LocalDateTime of1 = LocalDateTime.of(2018, 9, 25, 1, 1);//2018-9-25 01:01
LocalDateTime of2 = LocalDateTime.of(2019, 9, 25, 23, 16); //2019-9-25 23:16
System.out.println(monthDiff(of1,of2));//12
}
相关文章暂无相关文章
-
java 时间天数差_Java计算两个时间的天数差与月数差 LocalDateTime
2021-03-13 19:18:14/*** 计算两个时间点的天数差* @param dt1 第一个时间点* @param dt2 第二个时间点* @return int,即要计算的天数差*/public static int dateDiff(LocalDateTime dt1,LocalDateTime dt2){//获取第一个时间点的时间戳.../**
* 计算两个时间点的天数差
* @param dt1 第一个时间点
* @param dt2 第二个时间点
* @return int,即要计算的天数差
*/
public static int dateDiff(LocalDateTime dt1,LocalDateTime dt2){
//获取第一个时间点的时间戳对应的秒数
long t1 = dt1.toEpochSecond(ZoneOffset.ofHours(0));
//获取第一个时间点在是1970年1月1日后的第几天
long day1 = t1 /(60*60*24);
//获取第二个时间点的时间戳对应的秒数
long t2 = dt2.toEpochSecond(ZoneOffset.ofHours(0));
//获取第二个时间点在是1970年1月1日后的第几天
long day2 = t2/(60*60*24);
//返回两个时间点的天数差
return (int)(day2 – day1);
}
@Test
public void testDay(){
LocalDateTime of1 = LocalDateTime.of(2018, 9, 25, 1, 1);//2018-9-25 01:01
LocalDateTime of2 = LocalDateTime.of(2019, 9, 25, 23, 16); //2019-9-25 23:16
System.out.println(dateDiff(of1,of2));//365
}
/**
* 获取两个时间点的月份差
* @param dt1 第一个时间点
* @param dt2 第二个时间点
* @return int,即需求的月数差
*/
public static int monthDiff(LocalDateTime dt1,LocalDateTime dt2){
//获取第一个时间点的月份
int month1 = dt1.getMonthValue();
//获取第一个时间点的年份
int year1 = dt1.getYear();
//获取第一个时间点的月份
int month2 = dt2.getMonthValue();
//获取第一个时间点的年份
int year2 = dt2.getYear();
//返回两个时间点的月数差
return (year2 – year1) *12 + (month2 – month1);
}
@Test
public void testMonth(){
LocalDateTime of1 = LocalDateTime.of(2018, 9, 25, 1, 1);//2018-9-25 01:01
LocalDateTime of2 = LocalDateTime.of(2019, 9, 25, 23, 16); //2019-9-25 23:16
System.out.println(monthDiff(of1,of2));//12
}
-
java如何计算时间天数差,java计算两个时间相差天数的方法汇总
2021-03-30 08:03:51问题描述:输入:两个日期输出:两个日期相差的天数具体代码实现方法1:通过calendar类的日期比较。注意:这里需要考虑一下:日期是跨年份的,如一个是2012年,一个是2015年的年份是分闰年和平年的,各自的天数不同/...问题描述:
输入:两个日期
输出:两个日期相差的天数
具体代码实现
方法1:
通过calendar类的日期比较。注意:这里需要考虑一下:
日期是跨年份的,如一个是2012年,一个是2015年的
年份是分闰年和平年的,各自的天数不同
/**
* date2比date1多的天数
* @param date1
* @param date2
* @return
*/
public static int differentdays(date date1,date date2)
{
calendar cal1 = calendar.getinstance();
cal1.settime(date1);
calendar cal2 = calendar.getinstance();
cal2.settime(date2);
int day1= cal1.get(calendar.day_of_year);
int day2 = cal2.get(calendar.day_of_year);
int year1 = cal1.get(calendar.year);
int year2 = cal2.get(calendar.year);
if(year1 != year2) //同一年
{
int timedistance = 0 ;
for(int i = year1 ; i < year2 ; i ++)
{
if(i%4==0 && i%100!=0 || i%400==0) //闰年
{
timedistance += 366;
}
else //不是闰年
{
timedistance += 365;
}
}
return timedistance + (day2-day1) ;
}
else //不同年
{
system.out.println("判断day2 - day1 : " + (day2-day1));
return day2-day1;
}
}
方法2:
直接通过计算两个日期的毫秒数,他们的差除以一天的毫秒数,即可得到我们想要的两个日期相差的天数。
/**
* 通过时间秒毫秒数判断两个时间的间隔
* @param date1
* @param date2
* @return
*/
public static int differentdaysbymillisecond(date date1,date date2)
{
int days = (int) ((date2.gettime() - date1.gettime()) / (1000*3600*24));
return days;
}
测试:
public static void main(string[] args)
{
string datestr = "2008-1-1 1:21:28";
string datestr2 = "2010-1-2 1:21:28";
simpledateformat format = new simpledateformat("yyyy-mm-dd hh:mm:ss");
simpledateformat format2 = new simpledateformat("yyyy-mm-dd hh:mm:ss");
try
{
date date2 = format.parse(datestr2);
date date = format.parse(datestr);
system.out.println("两个日期的差距:" + differentdays(date,date2));
system.out.println("两个日期的差距:" + differentdaysbymillisecond(date,date2));
} catch (parseexception e) {
e.printstacktrace();
}
}
结果:
两个日期的差距:732
两个日期的差距:732
两种实现方式的比较:
方式一的话,只是通过日期来进行比较两个日期的相差天数的比较,没有精确到相差到一天的时间。如果是只是纯粹通过日期(年月日)来比较比较的话就是方式一。
对于方式二,是通过计算两个日期相差的毫秒数来计算两个日期的天数差的。一样会有一个小问题,就是当他们相差是23个小时的时候,它就不算一天了。如下面的两个日期
2015-1-1 21:21:28
2015-1-2 1:21:28
测试代码:
public static void main(string[] args)
{
string datestr = "2015-1-1 21:21:28";
string datestr2 = "2015-1-2 1:21:28";
simpledateformat format = new simpledateformat("yyyy-mm-dd hh:mm:ss");
simpledateformat format2 = new simpledateformat("yyyy-mm-dd hh:mm:ss");
try
{
date date2 = format.parse(datestr2);
date date = format.parse(datestr);
system.out.println("两个日期的差距:" + differentdays(date,date2));
system.out.println("两个日期的差距:" + differentdaysbymillisecond(date,date2));
} catch (parseexception e) {
e.printstacktrace();
}
}
结果:
两个日期的差距:1
两个日期的差距:0
两种方式的不同了,在具体时间相差不到24小时时,方式2的方式不算一天,而方式1是通过日期(年月日)来判断的,所以算相差一天。
以上就是java计算两个时间相差天数的方法,并进行了详细比较,希望对大家的学习有所帮助。
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
-
java date 获取天数差_Java计算两个时间的天数差与月数差 LocalDateTime
2021-03-08 06:50:34/*** 计算两个时间点的天数差* @param dt1 第一个时间点* @param dt2 第二个时间点* @return int,即要计算的天数差*/public static int dateDiff(LocalDateTime dt1,LocalDateTime dt2){//获取第一个时间点的时间戳.../**
* 计算两个时间点的天数差
* @param dt1 第一个时间点
* @param dt2 第二个时间点
* @return int,即要计算的天数差
*/
public static int dateDiff(LocalDateTime dt1,LocalDateTime dt2){
//获取第一个时间点的时间戳对应的秒数
long t1 = dt1.toEpochSecond(ZoneOffset.ofHours(0));
//获取第一个时间点在是1970年1月1日后的第几天
long day1 = t1 /(60*60*24);
//获取第二个时间点的时间戳对应的秒数
long t2 = dt2.toEpochSecond(ZoneOffset.ofHours(0));
//获取第二个时间点在是1970年1月1日后的第几天
long day2 = t2/(60*60*24);
//返回两个时间点的天数差
return (int)(day2 - day1);
}
@Test
public void testDay(){
LocalDateTime of1 = LocalDateTime.of(2018, 9, 25, 1, 1);//2018-9-25 01:01
LocalDateTime of2 = LocalDateTime.of(2019, 9, 25, 23, 16); //2019-9-25 23:16
System.out.println(dateDiff(of1,of2));//365
}
/**
* 获取两个时间点的月份差
* @param dt1 第一个时间点
* @param dt2 第二个时间点
* @return int,即需求的月数差
*/
public static int monthDiff(LocalDateTime dt1,LocalDateTime dt2){
//获取第一个时间点的月份
int month1 = dt1.getMonthValue();
//获取第一个时间点的年份
int year1 = dt1.getYear();
//获取第一个时间点的月份
int month2 = dt2.getMonthValue();
//获取第一个时间点的年份
int year2 = dt2.getYear();
//返回两个时间点的月数差
return (year2 - year1) *12 + (month2 - month1);
}
@Test
public void testMonth(){
LocalDateTime of1 = LocalDateTime.of(2018, 9, 25, 1, 1);//2018-9-25 01:01
LocalDateTime of2 = LocalDateTime.of(2019, 9, 25, 23, 16); //2019-9-25 23:16
System.out.println(monthDiff(of1,of2));//12
}
js计算两个时间相差天数
//两个时间相差天数 兼容firefox chrome function datedifference(sDate1, sDate2) { //sDate1和sDate2是2006-12 ...
java计算两个时间相差(天、小时、分钟、秒)
public static Long dateDiff(String startTime, String endTime, String format, String str) { // 按照传入的格 ...
Java计算两个字符串日期之间的天数差
Java计算两个字符串日期之间的天数差 调用方法: public static void main(String[] args) throws ParseException { String a = ...
C#计算两个时间年份月份天数(根据生日计算年龄)差,求时间间隔
C#计算两个时间年份月份差 DateTime dt1 = Convert.ToDateTime("2008-8-8"); DateTime dt2 = System.DateTim ...
java 判断两个时间相差的天数
1.实现目标 输入:两个日期 输出:两个日期相差的天数 2.代码实现 方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 ...
oracle计算两个时间的差值(XX天XX时XX分XX秒)
在工作中需要计算两个时间的差值,结束时间 - 开始时间,又不想在js里写function,也不想在java里去计算,干脆就在数据库做了一个函数来计算两个时间的差值.格式为XX天XX时XX分XX秒: 上 ...
使用LocalDateTime计算两个时间的差
LocalDateTime now = LocalDateTime.now();System.out.println("计算两个时间的差:");LocalDateTime end ...
Java判断两个时间相差的天数
1.实现目标 输入:两个日期 输出:两个日期相差的天数 2.代码实现 方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 ...
MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数
MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() ...
随机推荐
自定义Chrome插件Vimium
自定义快捷键 map e scrollPageUp map w removeTab map s nextTab map a previousTab map q goNext map z restore ...
tiny java web server
import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; ...
Altium Desiner 警告 adding hidden net
这是因为 一些元件 隐藏了 vcc GND 或者没有使用vcc GND ,用不着它也报警告了. 这里可以将 vcc GND删掉这个管脚.
viewpager接受值图片轮播
package com.baway.test; import java.util.ArrayList;import java.util.List;import java.util.Timer;impo ...
WEB 安全之 SQL注入 <; 二 >; 暴库
SQL注入是一个比较"古老"的话题,虽然现在存在这种漏洞的站点比较少了,我们还是有必要了解一下它的危害,及其常用的手段,知己知彼方能百战不殆.进攻与防守相当于矛和盾的关系,我们如果 ...
将js对象转为json对象属性加上引号
工具地址 http://js2json.mengxiangchaoren.com
Nginx 简单的负载均衡配置示例
http://www.cnblogs.com/xiaogangqq123/archive/2011/03/02/1969006.html 在此记录下Nginx服务器nginx.conf的配置文件说明, ...
My.Ioc 代码示例——属性和方法注入
在 My.Ioc 中,我们可以指定让容器在构建好对象实例之后,自动为我们调用对象的公共方法或是为对象的公共属性赋值.在解析对象实例时,容器将根据我们在注册对象时指定的方法调用或属性赋值的先后顺序,调用 ...
poj 1065 Wooden Sticks_贪心
题意:将木棍放在机器里处理,第一根需要一分钟,剩余的如果大于等于前边放入的长度和重量,就不用费时间,否则需要一分钟,计算给出一组数的最少时间. 思路:先按长度排序,相同在比较重量,然后按顺序比较得出结 ...
docker学习笔记:容器的网络设置
创建一个docker容器,docker系统会自动为该容器分配一个ip地址,通常是172.17开头. 我们可以在主机上用 docker inspect 命令 或者进入容器用ifconfig命令来查看容器 ...
-
java date 差_Java计算两个时间的天数差与月数差 LocalDateTime
2021-03-08 06:50:01/*** 计算两个时间点的天数差* @param dt1 第一个时间点* @param dt2 第二个时间点* @return int,即要计算的天数差*/public static int dateDiff(LocalDateTime dt1,LocalDateTime dt2){//获取第一个时间点的时间戳... -
java计算两个时间差的方法_java计算两个时间相差天数的方法汇总
2021-03-14 19:38:35问题描述:输入:两个日期输出:两个日期相差的天数具体代码实现方法1:通过Calendar类的日期比较。注意:这里需要考虑一下:日期是跨年份的,如一个是2012年,一个是2015年的年份是分闰年和平年的,各自的天数不同/... -
java monthdiff_Java计算两个时间的天数差与月数差 LocalDateTime
2021-02-28 18:36:31/*** 计算两个时间点的天数差* @param dt1 第一个时间点* @param dt2 第二个时间点* @return int,即要计算的天数差*/public static int dateDiff(LocalDateTime dt1,LocalDateTime dt2){//获取第一个时间点的时间戳... -
java 时间分钟差_Java获取时间差(天数差,小时差,分钟差)
2021-03-09 08:10:21用SimpleDateFormat来实现,比较简单,我认为比较适合拿来用。首先我们先初始化我们的SimpleDateFormatSimpleDateFormat simpleFormat = new SimpleDateFormat...计算天数差。String fromDate = simpleFormat.forma... -
java算时间差_Java 计算两个日期相差的天数
2021-02-12 11:10:19import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class test16 {/*** @param args* @throws ParseException*/public static void main... -
java日期差天数的函数_用Java计算日期差
2021-03-15 10:39:11慕村9548890在Java 8中使用Joda-Time或新...java.timeJava 8及更高版本中内置的java.time框架具有一个Period类,用于表示时间跨度,以年,月,日为单位。但是此类仅限于整天,不能表示小时,分钟和秒。请注意,我们... -
date天数差 java_Java计算date相差天数代码实现
2021-03-18 08:54:11Java计算date相差天数代码实现时间:2017-09-14来源:互联网还有多少天放假?还有多少天考试?生活中我们经常会遇到一些情况,需要计算两个时间点之间还剩多少天。那么如何通过Java代码来计算两个date之间的相差天数呢... -
java和mysql中分别计算时间差(天数)
2019-05-28 19:51:24Date currentTime=new Date(); long diff = record.getApproveTime().getTime() - currentTime.getTime();//这样得到的差值是微秒级别 if( diff / (1000 * 60 * 60 * 24) ...java: Date expectedFinishTime... -
JAVA计算两个天数的时间差(按天)
2020-08-18 16:24:20JAVA中经常会计算两个天数之间相差几天,下面代码中实现了此功能 在这里插入代码片 public static int daysBetween(String smdate,String bdate) throws ParseException{ SimpleDateFormat sdf=new ... -
Java获取时间差(天数差,小时差,分钟差)
2019-07-25 16:55:12用SimpleDateFormat来实现,比较简单,我认为比较适合拿来用。 首先我们先初始化我们的SimpleDateFormat SimpleDateFormat simpleFormat = new SimpleDateFormat...1.计算天数差。 String fromDate = simpleForm... -
Java经过的天数的计算公式_Java如何通过计算两个日期的时间差来算出天数
2021-03-10 08:17:51一、算出日期的天数代码实现:public static void main(String[] args) throws Exception {String inTime="2020-6-20 11:30:00";//入住时间String outTime="2020-6-25 15:40:00";//退房时间//1.先算 年月日 的天数... -
java中怎么通过日期算出天数_Java如何通过计算两个日期的时间差来算出天数
2021-03-09 22:57:44Java如何通过计算两个日期的时间差来算出天数,年月日,天数,时间,退房,时分Java如何通过计算两个日期的时间差来算出天数易采站长站,站长之家为您整理了Java如何通过计算两个日期的时间差来算出天数的相关内容。... -
Java Script 计算时间差
2021-03-17 18:20:47vardate1=newDate();//开始时间,当前时间 vardate2=newDate();//结束时间,需传入时间参数 ...//时间差的毫秒数 //计算出相差天数 vardays=Math.floor(date3/(24*3600*1000)); //计算出小时数 varle... -
Java计算两个字符串日期之间的天数差
2017-01-08 22:05:00Java计算两个字符串日期之间的天数差 调用方法: public static void main(String[] args) throws ParseException { String a = "2017-12-01"; // 时间字符串 String b = "2017-12-31"; Long bet... -
计算2个时间之间的天数差 JS版 和 JAVA版 2种
2014-12-16 09:02:31//获取2个时间之间的天数方法 public static String timetotime(String cnrq,String sjrq){ //时间转换类 int days = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); -
谈 计算时间的天数差
2015-06-08 20:09:00从JDK1.1开始,应该使用 Calendar 类实现日期和时间字段之间的转换,使用DateFormat类来格式化和解析日期字符串。Date的相应方法已废弃。 尽管Date类打算反映 协调世界时(UTC),但无法做到如此准确,这取决于Java... -
java 时间相差秒数_java 任意两个时间差,天数,小时数,分钟数,秒数
2021-02-13 01:19:40在java 编程中,不可避免用到计算时间差。前面我写过几篇文章,关于java 时间计算的,还有timezone 转换的文章,但没有这么具体到相差到天数,小时,分钟,秒数都列出来的情况,所以这里再总结下。1. 用JDK 自带API ... -
时间格式化大小写含义(Java 计算时间差以及比较日期大小 )
2020-12-28 08:46:46字母 日期或时间元素 表示 示例 G Era 标志符 Text AD y 年 Year ... 年中的天数 Number 189 d 月份中的天数 Number 10 F 月份中的星期 N -
Java 某个起始时间,固定的累加天数,计算周期
2020-01-07 14:11:56Java 某个起始时间,固定的一个天数相加,计算周期每次加过后的周期 前言 项目中有这么一个业务场景,数据库中某张表有个起始时间,和一个累加时间,比如2020-01-07,往后每次加3天为一个周期,到2020-01-10是周期1... -
java中对时间差的计算方法
2017-02-16 11:20:32看见网上很多时间差的记录方式,方法很多,记录一种自己觉得比较好用的 实现方式采用的是SimpleDateFormat eg:一:SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm"); 1.计算天数... -
Java根据日期计算时间差
2020-09-18 10:58:30代码如下: long t2 = order.getAcceptTime().getTime(); long t1 = order.getFinishTime().getTime();...算天数或秒同理 int hours=(int) ((t1 - t2)/3600000); int minutes=(int) (((t1 - t2)/1 -
JDK1.8LocalDate计算两个时间的天数差
2019-07-15 17:43:41import java.time.Clock; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.Period; import java.time.temporal.TemporalAdjusters; public class LocalDateDemo... -
java计算两个日期之间相差的天数的四种方法
2020-09-22 10:44:14第一种:时间戳的方式,计算两个日期的时间戳的差,再除当天的毫秒数即可得到相差的天数。 public static void main(String[] args) { DateFormat dft = new SimpleDateFormat("yyyy-MM-dd"); try { Date ... -
java 统计有效时间段的 每一年 每一月或者每一日 、计算时间差
2017-09-20 14:22:22一、当为年 或者月 或者日 时 统计有效时间段的 每一年 每一月或者每一日 二、 计算时间差 天数