计算两个日期之间相差多少天

计算两个日期天数差的函数,通用,根据指定的一个日期和相差的天数,获取另外一个日期

$(document).ready(function () {

//获取单元格值改变事件不需要获取焦点

//备注:可以换成  $(".CheckCountLen").bind("blur", function () {

$("#butOK").bind("click", function () {

//判断开始时间和结束时间

var strStartTime = $("#fStarttime").val();

var endTime = $("#fEndtime").val();

if (strStartTime == "" || endTime == "") {

$("#DifDay").val(0);

}

else {

var startNum = parseInt(strStartTime.replace(/-/g, ‘‘), 10);

var endNum = parseInt(endTime.replace(/-/g, ‘‘), 10);

if (startNum > endNum) {

alert("结束时间不能在开始时间之前!");

}

else {

$("#DifDay").val(DateDiff(strStartTime, endTime));  //调用/计算两个日期天数差的函数,通用

}

}

});

//根据填写相差天数获取结束日期

$("#butOK1").bind("click", function () {

//判断开始时间和结束时间

var strStartTime = $("#fStarttime").val();

var inputNum = $("#inputNum").val(); //获取相差天数

if (strStartTime != "") {

}

$("#fEndtime").val(addByTransDate(strStartTime, inputNum));  //根据指定的一个日期和相差的天数,获取另外一个日期

});

});

////////////////////////////////////////////////////////////////////////////////////////////

//计算两个日期天数差的函数,通用

////////////////////////////////////////////////////////////////////////////////////////////

function DateDiff(sDate1, sDate2) {  //sDate1和sDate2是yyyy-MM-dd格式

var aDate, oDate1, oDate2, iDays;

aDate = sDate1.split("-");

oDate1 = new Date(aDate[1] + ‘-‘ + aDate[2] + ‘-‘ + aDate[0]);  //转换为yyyy-MM-dd格式

aDate = sDate2.split("-");

oDate2 = new Date(aDate[1] + ‘-‘ + aDate[2] + ‘-‘ + aDate[0]);

iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数

return iDays;  //返回相差天数

}

////////////////////////////////////////////////////////////////////////////////////////////

//根据指定的一个日期和相差的天数,获取另外一个日期

//dateParameter为指定已经存在的日期yyyy-MM-dd  num为相差天数为整型

////////////////////////////////////////////////////////////////////////////////////////////

function addByTransDate(dateParameter, num) {

var translateDate = "", dateString = "", monthString = "", dayString = "";

translateDate = dateParameter.replace("-", "/").replace("-", "/"); ;

var newDate = new Date(translateDate);

newDate = newDate.valueOf();

newDate = newDate + num * 24 * 60 * 60 * 1000;  //备注 如果是往前计算日期则为减号 否则为加号

newDate = new Date(newDate);

//如果月份长度少于2,则前加 0 补位

if ((newDate.getMonth() + 1).toString().length == 1) {

monthString = 0 + "" + (newDate.getMonth() + 1).toString();

} else {

monthString = (newDate.getMonth() + 1).toString();

}

//如果天数长度少于2,则前加 0 补位

if (newDate.getDate().toString().length == 1) {

dayString = 0 + "" + newDate.getDate().toString();

} else {

dayString = newDate.getDate().toString();

}

dateString = newDate.getFullYear() + "-" + monthString + "-" + dayString;

return dateString;

}

时间: 2024-10-10 12:37:30

计算两个日期之间相差多少天的相关文章

计算两个日期之间相差几天(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

计算两个日期之间相差的天数(带带负数) 支持格式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 =

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

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

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

计算两个日期之间相差多少个小时

题目描述: 给定两个日期,例如2009120311和2008110413,格式为年/月/日/小时,求两个日期之间相差多少个小时. 思考: 第一感似乎应该先计算相差多少年,然后多少个月,多少天,多少个小时,然后累加就好了,但是似乎没有这么简单: 1.闰年和平年 2.每个月的天数不一样 3.闰年二月和平年二月 4.相减不够怎么办 上面的这些问题都是应该想到的,如果想到这些问题,那么应该就可以写代码了. 首先写个判断闰年还是平年的函数: def dayOfYear(year): if (year%4=

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

计算两个日期之间相差几天几小时几分钟

NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];    NSDate *  senddate=[NSDate date];    //结束时间    NSDate *endDate = [dateFormatter dateFromString:@"2014-6-24 00:00:00&q

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