精华内容
下载资源
问答
  • 主要介绍了Java判断两个日期相差天数的方法,以实例形式对比分析了java进行日期换算及对比的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • 获取两个日期之间天数,使用整数计量而不是毫秒数约算,例:2017-11-26 23:59:59 与2017-11-27 00:00:00相差天数是1.
  • 获取两个日期之间天数: 传入两个日期获取它们之间的天数 public static double getDistanceOfTwoDate(Date before, Date after) { long beforeTime = before.getTime(); long afterTime = after.getTime(); ...

    获取两个日期之间的天数:
    传入两个日期获取它们之间的天数

    	public static double getDistanceOfTwoDate(Date before, Date after) {
    		long beforeTime = before.getTime();
    		long afterTime = after.getTime();
    		return (afterTime - beforeTime) / (1000 * 60 * 60 * 24);
    	}
    

    获取两个日期之间的月数:
    传入两个日期获取它们之间的月数

    	public static double getDistanceMonth(Date before, Date after){
    	     Calendar bef = Calendar.getInstance();
    	     Calendar aft = Calendar.getInstance();
    	     bef.setTime(before);
    	     aft.setTime(after);
    	     int result = aft.get(Calendar.MONTH) - bef.get(Calendar.MONTH);
    	     int month = (aft.get(Calendar.YEAR) - bef.get(Calendar.YEAR)) * 12;
    	     return Math.abs(month + result);
    	}
    
    展开全文
  • 功能需要抱怨这些限制:防止日期保存时间错误输入是两个Date的对象(没有时间,我知道localdatetime,但我需要处理日期实例)比如这样的东西?@MadProgrammer不是真的 - 持续时间不是最合适的...@assylias嗯,这比OP.....

    我知道有很多关于如何获得的问题,但我想要和使用新的Java 8 Date api的例子。 我也知道JodaTime库,但我想要一种没有外部库的工作方式。

    功能需要抱怨这些限制:

    防止日期保存时间错误

    输入是两个Date的对象(没有时间,我知道localdatetime,但我需要处理日期实例)

    比如这样的东西?

    @MadProgrammer不是真的 - 持续时间不是最合适的...

    @assylias嗯,这比OP的好

    @assylias然后是什么?

    @MadProgrammer DAYS.between(localDate1, localDate2)。

    如果您想要逻辑日历日,请使用java.time.temporal.ChronoUnit中的DAYS.between()方法:

    LocalDate dateBefore;

    LocalDate dateAfter;

    long daysBetween = DAYS.between(dateBefore, dateAfter);

    如果你想要文字24小时日(持续时间),你可以使用Duration类代替:

    LocalDate today = LocalDate.now()

    LocalDate yesterday = today.minusDays(1);

    // Duration oneDay = Duration.between(today, yesterday); // throws an exception

    Duration.between(today.atStartOfDay(), yesterday.atStartOfDay()).toDays() // another option

    有关更多信息,请参阅此文档(以及其他文档:Oracle的Java 8)。

    抛出异常,因为Duration.between方法需要能够支持SECONDS单元的临时对象。相反,尝试Duration.between(today.atTime(0, 0), yesterday.atTime(0, 0)).toDays()。

    -1持续时间不适合这样做。

    而不是today.atTime(0, 0),你可以做today.atStartOfDay()。

    @assylias为什么不呢?

    @REACHUS也许-1有点苛刻,因为你提出的代码有效,但持续时间是为了衡量"基于时间的时间量"。有一种内置方法可以测量不需要从日期转换为日期时间的天数。

    根据VGR的评论,您可以使用以下内容:

    ChronoUnit.DAYS.between(firstDate, secondDate)

    您可以使用until():

    LocalDate independenceDay = LocalDate.of(2014, Month.JULY, 4);

    LocalDate christmas = LocalDate.of(2014, Month.DECEMBER, 25);

    System.out.println("Until christmas:" + independenceDay.until(christmas));

    System.out.println("Until christmas (with crono):" + independenceDay.until(christmas, ChronoUnit.DAYS));

    我正在寻找第二个System.out.println语句。谢谢!

    我刚刚遇到的第一个版本until的问题是它返回一个Period对象。这将在两个日期之间返回多年/月/天,而不是实际天数。并且期间的getDays()仅返回日期部分(不考虑年数或月数),而不是总天数。第二个版本完全符合要求,可以在两个日期之间获得若干天。

    对此有完整的替代方案吗?因为它需要Android SDk 26及以上版本

    您可以使用java.time.temporal.ChronoUnit中的DAYS.between

    例如

    import java.time.temporal.ChronoUnit;

    public long getDaysCountBetweenDates(LocalDate dateBefore, LocalDate dateAfter) {

    return DAYS.between(dateBefore, dateAfter);

    }

    If starDate and endDate are instance of java.util.Date, besides to

    @mohamed answer

    Integer noOfDays = ChronoUnit.DAYS.between(startDate.toInstant(), endDate.toInstant());

    但ChronoUnit.DAYS计算完成24小时的天数。

    每个人都说使用ChronoUnit.DAYS.between,但只是委托给你自己称之为另一种方法。所以你也可以做firstDate.until(secondDate, ChronoUnit.DAYS)。

    两者的文档实际上都提到了这两种方法,并说使用哪一种更具可读性。

    FWIW ......我不确定为什么两者都存在。是否有时候一个更可读,另一个是另一个?当/为什么?

    在枚举java.time.temporal.ChronoUnit中使用DAYS。以下是示例代码:

    输出:

    *开始日期:2015-03-01和结束日期之间的天数:2016-03-03是==> 368。

    **开始日期:2016-03-03和结束日期之间的天数:2015-03-01是==> -368 *

    package com.bitiknow.date;

    import java.time.LocalDate;

    import java.time.temporal.ChronoUnit;

    /**

    *

    * @author pradeep

    *

    */

    public class LocalDateTimeTry {

    public static void main(String[] args) {

    // Date in String format.

    String dateString ="2015-03-01";

    // Converting date to Java8 Local date

    LocalDate startDate = LocalDate.parse(dateString);

    LocalDate endtDate = LocalDate.now();

    // Range = End date - Start date

    Long range = ChronoUnit.DAYS.between(startDate, endtDate);

    System.out.println("Number of days between the start date :" + dateString +" and end date :" + endtDate

    +" is  ==>" + range);

    range = ChronoUnit.DAYS.between(endtDate, startDate);

    System.out.println("Number of days between the start date :" + endtDate +" and end date :" + dateString

    +" is  ==>" + range);

    }

    }

    干得好:

    public class DemoDate {

    public static void main(String[] args) {

    LocalDate today = LocalDate.now();

    System.out.println("Current date:" + today);

    //add 1 month to the current date

    LocalDate date2 = today.plus(1, ChronoUnit.MONTHS);

    System.out.println("Next month:" + date2);

    // Put latest date 1st and old date 2nd in 'between' method to get -ve date difference

    long daysNegative = ChronoUnit.DAYS.between(date2, today);

    System.out.println("Days :"+daysNegative);

    // Put old date 1st and new date 2nd in 'between' method to get +ve date difference

    long datePositive = ChronoUnit.DAYS.between(today, date2);

    System.out.println("Days :"+datePositive);

    }

    }

    获取当天圣诞节前的天数,试试这个

    System.out.println(ChronoUnit.DAYS.between(LocalDate.now(),LocalDate.of(Year.now().getValue(), Month.DECEMBER, 25)));

    如果目标只是为了获得天数的差异,并且由于上述答案提到了委托方法,我想指出一次也可以简单地使用 -

    public long daysInBetween(java.time.LocalDate startDate, java.time.LocalDate endDate) {

    // Check for null values here

    return endDate.toEpochDay() - startDate.toEpochDay();

    }

    在陷阱中使用'Period.between(date1,date2).getDays()'而没有意识到你松散了差异的月份和年份。

    get days between two dates date is instance of java.util.Date

    public static long daysBetweenTwoDates(Date dateFrom, Date dateTo) {

    return DAYS.between(Instant.ofEpochMilli(dateFrom.getTime()), Instant.ofEpochMilli(dateTo.getTime()));

    }

    我知道这个问题适用于Java 8,但使用Java 9可以使用:

    public static List getDatesBetween(LocalDate startDate, LocalDate endDate) {

    return startDate.datesUntil(endDate)

    .collect(Collectors.toList());

    }

    展开全文
  • 我需要找到两个日期之间天数:一个是来自报表,另一个是当前日期。我的片段:int age=calculateDifference(agingDate, today);这calculateDifference是一个私有方法,agingDate并且today是Date对象,仅供您说明。...

    我需要找到两个日期之间的天数:一个是来自报表,另一个是当前日期。我的片段:

    int age=calculateDifference(agingDate, today);

    这calculateDifference是一个私有方法,agingDate并且today是Date对象,仅供您说明。我关注了Java论坛中的两篇文章Thread 1 / Thread 2。

    它在独立程序中可以正常工作,尽管当我将其包含在逻辑中以从报告中读取时,我会在值上获得不同寻常的区别。

    为什么会发生,如何解决?

    编辑:

    与实际天数相比,我得到的天数更多。

    public static int calculateDifference(Date a, Date b)

    {

    int tempDifference = 0;

    int difference = 0;

    Calendar earlier = Calendar.getInstance();

    Calendar later = Calendar.getInstance();

    if (a.compareTo(b) < 0)

    {

    earlier.setTime(a);

    later.setTime(b);

    }

    else

    {

    earlier.setTime(b);

    later.setTime(a);

    }

    while (earlier.get(Calendar.YEAR) != later.get(Calendar.YEAR))

    {

    tempDifference = 365 * (later.get(Calendar.YEAR) - earlier.get(Calendar.YEAR));

    difference += tempDifference;

    earlier.add(Calendar.DAY_OF_YEAR, tempDifference);

    }

    if (earlier.get(Calendar.DAY_OF_YEAR) != later.get(Calendar.DAY_OF_YEAR))

    {

    tempDifference = later.get(Calendar.DAY_OF_YEAR) - earlier.get(Calendar.DAY_OF_YEAR);

    difference += tempDifference;

    earlier.add(Calendar.DAY_OF_YEAR, tempDifference);

    }

    return difference;

    }

    展开全文
  • /*php计算任意两个日期之间天数基本思想,算术减法:cur_date 2009 04 11last_date - 2008 12 20---------------------date_dist 0000 03 21间隔大约3个月21天---116天*/// create functionfunction date_distance...

    /*

    php计算任意两个日期之间的天数

    基本思想,算术减法:

    cur_date         2009 04 11

    last_date   - 2008 12 20

    ---------------------

    date_dist     0000 03 21

    间隔大约3个月21天---116天

    */

    // create function

    function date_distance($last_date, $cur_date){

    $last_date = $last_date;

    $cur_date = $cur_date; // 20090411

    $ldy = substr($last_date,0,4); // 获得日期的年份

    $ldm = substr($last_date,4,2); // 获得日期的月份

    $ldd = substr($last_date,6,2); // 获得日期的日子

    $cdy = substr($cur_date,0,4);

    $cdm = substr($cur_date,4,2);

    $cdd = substr($cur_date,6,2);

    if( $cdd < $ldd ) {

    $cdd = $cdd + 30;

    $cdm --;

    }

    else if ( $cdm < $ldm ){

    $cdm = $cdm + 12;

    $cdy --;

    }

    $distance = ($cdy - $ldy)*365 + ($cdm - $ldm)*30 + $cdd - $ldd;

    return $distance;

    } // end of function

    $last_date = 20081220;

    $cur_date = date('Ymd'); // 20090411

    /*

    echo date('Ymd').'--';

    echo $cur_date;         // 20090411

    */

    $test = date_distance($last_date, $cur_date);

    echo '2008-12-20离现在共 '.$test.'天';

    // possible output:

    A.htc:hover { FONT-WEIGHT: bolder } 2008-12-20离现在共 116天 ?>

    展开全文
  • 计算两个年月日之间天数,思路是分别算出日期的总天数然后相减。要考虑闰年的情况,判断闰年的口诀:4年一闰,100年不闰,400年再闰。((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)网上找了一...
  • 用Java计算两个日期之间天数

    千次阅读 2021-02-12 14:18:33
    用Java计算两个日期之间天数我想要一个Java程序来计算两个日期之间天数。键入第一个日期(德语符号;带空格:“dd mm yyyy”)键入第二次约会。程序应该计算这两个日期之间天数。我如何包括闰年和夏季?我的代码...
  • I need to get the difference in days between two dates in DB2. I tried a couple of different queries but nothing seems to be working. So basically what i need to get is something like this.SELECT DAYS...
  • 展开全部用sysdate假设结束日期字段是end_date添加这判断条件:636f707962616964757a686964616f31333431373262where to_char("end_date",'YYYY') = to_char(sysdate,'YYYY') 判断年相同and to_char("end_date",'MM...
  • 小心!这里的许多bash解决方案都打破了日期范围,该...让我说明一下:DST于今年3月8日在美国开始,因此我们使用一跨越以下日期范围的日期:start_ts=$(date -d "2015-03-05" '+%s')end_ts=$(date -d "2015-03-11...
  • 用C#计算两个日期之间相差的天数,通过TimeSpan进行计算比较简单
  • //天数差 例如: label1.Text="2012-1-115:36:05"; label2.Text="2012-2-120:16:35"; DateTimed1=newDateTime(2012,1,1,15,36,05); DateTimed2=newDateTime(2012,2,1,20,16,35); TimeSpan...
  • NULL 博文链接:https://xiaolinjava.iteye.com/blog/769359
  • Python:计算两个日期之间天数

    千次阅读 2017-10-13 18:18:06
    Python:计算两个日期之间天数这次用python编写了计算两个日志之间的天数的代码,编写的思路是在编写中逐步产生的,过程比较流畅。有几点细节需要点出来: 1. 是否为闰年,2月的天数 能被4整除但不能被100整除,...
  • js计算两个日期之间天数

    千次阅读 2020-05-22 10:28:48
    //得到两个日期之间天数 YYYY-MM-DD - YYYY-MM-DD function getDateRegion = function(beginDate,endDate){ if(beginDate != '' && endDate != ''){ var aDate, oDate1, oDate2, iDays; if(beginDate....
  • 进入 /** *功能:截取两个日期之间天数 * @param String beginDate,String endDate * @return int * @throws ParseException * */ private static int getDay(String beginDate,String endDate...
  • C#计算两个日期之间相差的天数 private int DateDiff(DateTime dateStart, DateTime dateEnd) { DateTime start = Convert.ToDateTime(dateStart.ToShortDateString()); DateTime end = Convert.ToDateTime...
  • java计算两个日期之间天数

    千次阅读 2021-01-12 01:09:28
    展开全部在Java开发物流或是其他功能的时候会用到两个日期相差多天的数据,62616964757a686964616fe78988e69d8331333337616538所以整理了一下备用。调用方式:代码如下 复制代码long date1 = getDateTime("20121201...
  • JS计算两个日期之间天数_www.jquerycn.cnfunction btnCount_Click(){s1 = "2006-12-18"s2 = "2007-1-5"alert("第一个日期;"+s1+"/n第二个日期:"+s2+"/n相差"+DateDiff(s1,s2)+"天")}//计算天数差的函数,通用...
  • 下面这图片就是我们Layui双控组件的日期范围选择器,可以选择起始时间和终止时间,那么针对于这组件我们该怎么获取它的具体天数呢? 首先:我的需求是是要年-月-日的格式,所以把type: 'datetime'给注释掉。在...
  • 在Java开发物流或是其他功能的时候会用到两个日期相差多天的数据,所以整理了一下备用。调用方式:long date1 = getDateTime("20121201");//可改成自己的日期类型,但以“20121212”这种格式long date2 = ...
  • 题目:计算两个日期之间天数 思路: 同年同月:之间两个天数相减即可,即(day1-day2-1)很简单。 同年不同月:先计算完整月数的天数,即从指定日期的写个月开始计算,计算每个月有多少天,都加起来...
  • 1、两个日期之间相差的天数,日期为单位(比如相差两秒,可能就相差一天,1.12:23:59:59和13:01:00:00就相差一天): /** * date2比date1多的天数 * @param date1 * @param date2 * @return */ private ...
  • C#:如何获得两个日期之间天数

    千次阅读 2019-04-15 16:26:28
    参考网址:... string str1 = "2017-2-13 23:59:59"; string str2 = "2017-2-14 0:00:01"; DateTime d1 = Convert.ToDateTime(str1); DateTime d2 = Convert.T...
  • 比如有:月份的定义 - 阳`(公)历 一年12 月,每月的天数各不同;阴(农)历,每月固定28天每周的第一天 - 阳(公)历星期日是第一天;阴(农)历,星期一是第一天实际上,在历史上有着许多种纪元的方法。它们的差异...
  • java后台与jsp页面计算两个日期之间天数 很多时候页面会涉及到很多关于时间的计算。 计算时间差,判断是否超时等等。下面我给大家两个很好用的计算时间的代码。前台和后台都有。 前台代码: 下面是根据id获取日期框...
  • 我编写了以下代码来查找两个日期之间的日期startDateValue = new Date(startDate);endDateValue = new Date(endDate);long diff = endDateValue.getTime() - startDateValue.getTime();long seconds = diff / 1000;...
  • 题目已知任意两个日期,计算出两个日期之间相隔的天数。实现思路1这里我们运用 Python 里面内置模块 time 来处理问题。已知2个日期,格式为 yyyy-mm-dd通过 time.strptime() 方法,把日期时间字符串解析为时间元组...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,062
精华内容 10,424
关键字:

得到两个日期之间的天数