两个日期之间相差的天数

输入两个字符串格式的日期,计算两日期之间,相差的天数

限制条件:输入的日期字符串,格式必须为 yyyy-MM-dd

方法一:

 1     /**
 2      *两个日期(字符串 格式:yyyy-MM-dd)的间隔天数
 3      *
 4      * @param smdate 较小的时间
 5      * @param bdate  较大的时间
 6      * @return 相差天数
 7     */
 8     public static int daysBetween(String smdate,String bdate) throws ParseException{
 9         SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
10         Calendar cal = Calendar.getInstance();
11         cal.setTime(sdf.parse(smdate));
12         long time1 = cal.getTimeInMillis();
13         cal.setTime(sdf.parse(bdate));
14         long time2 = cal.getTimeInMillis();
15         long between_days=(time2-time1)/(1000*3600*24);
16
17        return Integer.parseInt(String.valueOf(between_days));
18     } 

方法二:再加限制,只能计算用一年时间区间内容的。跨年计算将产生负值

 1     /**
 2      * 两个日期字符串 的时间差(天数)
 3      *             【限制条件:只能计算,同一年的时间区间】
 4      *
 5      * @param @param startTime
 6      *                         格式:yyyy-MM-dd
 7      * @param @param endTime
 8      *                         格式:yyyy-MM-dd
 9      * @param @return    设定文件
10      * @return int    返回类型
11      *
12      */
13     public static int daysBetween(String startTime, String endTime) throws ParseException{
14
15         Calendar aCalendar = Calendar.getInstance();
16         Date startDate = null;
17         Date endDate = null;
18
19         try {
20             startDate = new SimpleDateFormat("yy-MM-dd").parse(startTime);
21             endDate = new SimpleDateFormat("yy-MM-dd").parse(endTime);
22         } catch (ParseException e) {
23             e.printStackTrace();
24         }
25
26         aCalendar.setTime(startDate);
27
28         int startDay = aCalendar.get(Calendar.DAY_OF_YEAR);
29
30         aCalendar.setTime(endDate);
31
32         int endDay = aCalendar.get(Calendar.DAY_OF_YEAR);
33
34         return endDay - startDay;
35
36      }
时间: 2024-11-10 01:03:06

两个日期之间相差的天数的相关文章

C语言,使用结构体读入两个在同一年的日期,判断日期是否合法,并计算两个日期之间相差的天数。结构体定义如下:

如下: typedef struct date { int year; int month; int day; }; 提示: 1. 使用如下函数完成相应功能 int isleapyear(int y); //计算是否为闰年 int islegal(Date x); //计算日期是否合法 int calcday(Date x);//计算日期是当年的第几天,用于计算两个日期之间天数的差值 2. 用于一维数组表示一年每月含有的天数 int dayofmonth[12] = {31,28,31,30,3

计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较

/** * 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较 * @param higDate 减数 * @param lowDate 被减数 * @returns 差值天数 格式不正确返回null * @dada 2016-09-19 lhh添加备注 */ function DateDiff(higDate, lowDate) { //sDate1和sDate2是2006-12-18格式 var aDate, oDate1, oDate2, iDays; aDate =

C#计算两个日期之间相差的天数

说明:如:1900-01-01与1900-01-01之间算一天 private static int DateDiff(DateTime dateStart, DateTime dateEnd) { DateTime start = Convert.ToDateTime(dateStart.ToShortDateString()); DateTime end = Convert.ToDateTime(dateStart.ToShortDateString()); TimeSpan sp = en

C#中如何获得两个日期之间的天数差 ( c# 计算两个日期之间相差的天数 )

DateTime dtLast = new DateTime(Convert.ToInt32(LastMenses.Year), Convert.ToInt32(LastMenses.Month), Convert.ToInt32(LastMenses.Day)); DateTime dtThis = new DateTime(Convert.ToInt32(Year), Convert.ToInt32(thisMonth), Convert.ToInt32(Day)); int interva

java计算两个日期之间相隔的天数

1 import java.text.ParseException; 2 import java.text.SimpleDateFormat; 3 import java.util.Calendar; 4 import java.util.Date; 5 6 7 public class date { 8 9 /** 10 * @param args 11 * @throws ParseException 12 */ 13 public static void main(String[] arg

java计算两个日期之间相差天数和相隔天数详解

大家看到文章标题"两个日期之间相差天数和相隔天数",是否有疑惑呢!从中文字面理解,"相差"和"相隔"是有区别的,然而就是这些区别害死很多人,却没有发现,在大量新增统计时是差之毫厘谬以千里,我能都发现是因为一个偶然的机会,一个项目运行几年却没有人发现,我在其中还不到一年,一开始写这些这代码的人根本没分清楚什么情况就写了,怪不得统计的数据总是有那么细微的差别,在于日期"相差"和"相隔"有某些特定的情况下是相等的

计算两个日期之间相差几天(Date类型与String类型互相转换)

一:计算两个日期之间相差几天 1 /** 2 * 3 */ 4 package com.hlcui.date; 5 6 import java.text.ParseException; 7 import java.text.SimpleDateFormat; 8 import java.util.Calendar; 9 import java.util.Date; 10 11 import org.junit.Test; 12 13 /** 14 * @author Administrator

Android-计算两个日期之间间隔的天数

要计算两个日期之间间隔的天数,必须把两个日期转换成统一的时间戳,然后计算其毫秒差,再将毫秒差转换成天数. System.out.print("开始时间:"); String str1 = beginTime; // "yyyyMMdd"格式 如 20131022 System.out.println("\n结束时间:"); String str2 = _endTime; // "yyyyMMdd"格式 如 20131022 S

计算两个日期之间的工作日天数

最近遇到要求两个日期之间的工作日天数的问题,遂在网上找了下js的代码,参考了下别人的代码,发现写的都有些冗余,于是自己思考,进行了一下简单处理.主要是在循环处理上进行了精简. 对剩余天数的循环,也就可以考虑是对开始日期到剩余天数之间的处理,循环开始日期到剩余天数之间有多少个周六周日(最多只有一个周六或者一个周日),由于当前开始日期在(0-6)之间,也就是当前开始日期的星期对应的数字加上剩余天数(0-6)的循环一定在(0-11)之间,所以0,7代表周日,6代表周六. <html> <hea