精华内容
下载资源
问答
  • 有时候我们在JAVA中会比较两个日期相差多少天,这里有几个实现方法供大家参考,偶尔会用到,也当做自己收藏。btw,同时也要鄙视一下我的好基友从百度搜到的一个答案的作者,写了毒代码,计算个日期而已,竟然要遍历...

    前言

    有时候我们在JAVA中会比较两个日期相差多少天,这里有几个实现方法供大家参考,偶尔会用到,也当做自己收藏。btw,同时也要鄙视一下我的好基友从百度搜到的一个答案的作者,写了毒代码,计算个日期而已,竟然要遍历两个日期的time。

    解决方案

    有使用Calendar的,也有使用Date的,都ok。但是基本都是去获取Time进行计算。Calendar也可以换成LocalCalendar等等的。

    	/**
         * JAVA计算两个日期相差多少天(by date)
         * @author zhengkai.blog.csdn.net
         */
        public static int daysBetween(Date date1,Date date2){     
            Calendar cal = Calendar.getInstance();     
            cal.setTime(date1);     
            long time1 = cal.getTimeInMillis();                  
            cal.setTime(date2);     
            long time2 = cal.getTimeInMillis();          
            long between_days=(time2-time1)/(1000*3600*24);     
            return Integer.parseInt(String.valueOf(between_days));            
        }  
        /**
         * JAVA计算两个日期相差多少天(by Date String with format "yyyy-MM-dd")
         * @author zhengkai.blog.csdn.net
         */
        public static int daysBetween(String date1str,String date2str){     
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    		Date date1 = format.parse(date1str);
    		Date date2 = format.parse(date2str);
    		int a = (int) ((date1.getTime() - date2.getTime()) / (1000*3600*24));
    		return a;          
        }  
        /**
         * JAVA比较两个日期(使用hutool库的DateUtil)
         * @author zhengkai.blog.csdn.net
         */
    	if(DateUtil.compare(date1,date2)>0){
    		//如果date1>=date2
    	}else{
    		//如果date1<date2
    	}
    

    批斗

    以下是 有害代码,引以为戒。真的是一天一天去遍历的…

    public static int  getDaysForTwoDate2(Date firstDate,Date secondDdate) throws ParseException {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(firstDate);
            int cnt = 0;
            while(calendar.getTime().compareTo(secondDdate)>0){
                calendar.add(Calendar.DATE, 1);
                cnt++;
            }
            System.out.println(cnt);
            return cnt;
        }
    
    展开全文
  • Calendar类计算两个日期相差多少天

    千次阅读 2018-06-28 18:05:17
    Calendar类计算两个日期相差多少天
    package bly;
    
    import java.util.Calendar;
    
    public class TestCalendar {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Calendar a = Calendar.getInstance(), b = Calendar.getInstance();
            a.set(2000, Calendar.SEPTEMBER, 13);
            b.set(2018, Calendar.JUNE, 28);
            long diffDays = (b.getTimeInMillis() - a.getTimeInMillis())
                    / (1000 * 60 * 60 * 24);
            System.out.println("您已经活了:" + diffDays + " 天");
        }
    
    }

     

     

    展开全文
  • * 计算两个日期相差多少天 * * @param endDate 结束日期 eg:20190801 * @param beginDate 开始日期 eg:20191231 * @return 相差天数 */ public static String getDifferenceDays(String endDate, ...
     /**
         * 计算两个日期相差多少天
         *
         * @param endDate   结束日期 eg:20190801
         * @param beginDate 开始日期 eg:20191231
         * @return 相差天数
         */
        public static String getDifferenceDays(String endDate, String beginDate) {
            try {
                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
                long nd = 1000 * 24 * 60 * 60;
                // 获得两个时间的毫秒时间差异
                long diff = simpleDateFormat.parse(endDate).getTime() - simpleDateFormat.parse(beginDate).getTime();
                // 计算差多少天
                long day = diff / nd;
                return String.valueOf(day);
            } catch (ParseException e) {
                e.printStackTrace();
            }
        }
    
    展开全文
  • java计算两个日期相差多少天 public class DateUtil{ public static int betweenDays(Date startDate, Date endDate ) throws Exception { Calendar beginCalendar = Calendar.getInstance(); Calendar ...

    java计算两个日期相差多少天

     

    public class DateUtil{
    	public static int betweenDays(Date startDate, Date endDate ) throws Exception {
    		Calendar beginCalendar = Calendar.getInstance();
    		Calendar endCalendar = Calendar.getInstance() ; 
    		
    		try {
    			beginCalendar.setTime( startDate ) ;
    			endCalendar.setTime( endDate ) ;
    			
    			if (beginCalendar.get(Calendar.YEAR) == endCalendar.get(Calendar.YEAR)) {
    				return endCalendar.get(Calendar.DAY_OF_YEAR)
    						- beginCalendar.get(Calendar.DAY_OF_YEAR);
    			} else {
    				if (beginCalendar.getTimeInMillis() < endCalendar.getTimeInMillis()) {
    					int days = beginCalendar.getActualMaximum(Calendar.DAY_OF_YEAR)
    							- beginCalendar.get(Calendar.DAY_OF_YEAR)
    							+ endCalendar.get(Calendar.DAY_OF_YEAR);
    					for (int i = beginCalendar.get(Calendar.YEAR) + 1; i < endCalendar
    							.get(Calendar.YEAR); i++) {
    						Calendar c = Calendar.getInstance();
    						c.set(Calendar.YEAR, i);
    						days += c.getActualMaximum(Calendar.DAY_OF_YEAR);
    					}
    					return days;
    				} else {
    					int days =endCalendar.getActualMaximum(Calendar.DAY_OF_YEAR)
    							- endCalendar.get(Calendar.DAY_OF_YEAR)
    							+ beginCalendar.get(Calendar.DAY_OF_YEAR);
    					for (int i = endCalendar.get(Calendar.YEAR) + 1; i < beginCalendar
    							.get(Calendar.YEAR); i++) {
    						Calendar c = Calendar.getInstance();
    						c.set(Calendar.YEAR, i);
    						days += c.getActualMaximum(Calendar.DAY_OF_YEAR);
    					}
    					return days;
    				}
    			}
    		} catch (Exception e) {
    			throw e;
    		}
    	}
    	
    }


     

     

    转载于:https://www.cnblogs.com/james1207/p/3297098.html

    展开全文
  • 下边代码段是关于Java计算两个日期相差多少天的代码,希望对小伙伴有好处。 要求计算该日期与1949年10月1日距离多少天例如: 用户输入了:1949-10-2 程序输出:1 用户输入了:1949-11-1 程序输出:31 ...
  • 计算两个日期相差多少天小时分钟秒等_学习记录   package p1; /** * 计算两个日期相差多少天小时分钟秒等 * @author Guozhu Zhu * @date 2018/7/22 * @version 1.0 */ import java.util.Date; public ...
  • 计算两个日期之间间隔多少天 使用Period来获取间隔 运行结果: 看起来是正确的,但是如果两个日期之间相差超过一个月,就不是我想要的结果了,看下面。 这个结果有点尴尬。。。如果没调用getMonths()方法,...
  • Java计算两个日期相差多少天,java计算日期,/* * 从键盘输入一/* * 从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天 例如: 用户输入了:1949-10-2 程序输出:1 用户输入了:1949-11-1...
  • 比较两个日期相差多少天

    千次阅读 2016-05-26 15:10:57
    在测试工作中经常会使用到比较两个日期相差的天数,我之前用过实现这一功能的两个版本的方法,源代码如下: (版本1) publicstaticint getIntervalDays(Date fDate, Date oDate) {  
  • 1. 通过LocalDate.until long until = startTimeParse.until(endTimeParse, ChronoUnit.DAYS); 2. 通过LocalDate.toEpochDay ...代码如下 日期String格式为yyyy-MM-dd LocalDate startTimeParse = Loc
  • date1="1987-01-01" date2="2010-01-01" import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class test16 { ...*/
  • 计算两个日期相差多少天

    千次阅读 2018-05-23 16:00:42
    /*计算天数差的函数,通用(已改成兼容火狐)*/ function DateDiff(sDate1,... iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24) //把相差的毫秒数转换为天数   return iDays }
  • #include using namespace std; #define ISYEAR(x) x%100!=0 && x%4==0 || x%400==0?1:0 int dayOfMonth[13][2]={ 0,0, 31,31, 28,29, 31,31, 30,30, 31,31, 30,30, 31,31, 31
  • // 获得两个时间的毫秒时间差异 long diff = endDate.getTime() - nowDate.getTime(); // 计算差多少天 long day = diff / nd; // 计算差多少小时 long hour = diff % nd / nh; // 计算差多少分钟 long min ...
  • 网上的方法大多是直接将两个日期取毫秒数相减 没有考虑第一最后1秒到第2第1秒,其实也是过了一的情况function dateDiff(sDate, eDate){ const y = Math.abs(eDate.getFullYear() - sDate.getFullYear()); ...
  • Java 判断两个日期相差多少天

    万次阅读 2013-07-09 11:34:57
    * 得到两个日期相差的天数 */ public static int getBetweenDay(Date date1, Date date2) { Calendar d1 = new GregorianCalendar(); d1.setTime(date1); Calendar d2 = new GregorianCalendar(); d2....
  • LocalDateTime dateTime = LocalDateTime .ofInstant(Instant.ofEpochMilli(1528197133157L), ZoneId.systemDefault()); LocalDate now = LocalDate.now(); Period between = Period.between(dateTime.toLocalD...
  • 两个字符串(字符串长度为9位),中间用一个空格隔开,对每个字符串,第一位为1和2,表示公元前或者公元后,接下来四位为年份,然后两位为月份,最后两位为日期。(注意,本题公元前和公元后的分界点是0年1月1日,...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 307
精华内容 122
关键字:

两个日期相差多少天