/**
* 计算两个日期之间相差的天数(带带负数) 支持格式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 = higDate.split("-");
oDate1 = new Date((aDate[1] + '-' + aDate[2] + '-' + aDate[0]).replace(/-/g, "/"));
//转换为12-18-2006格式
aDate = lowDate.split("-");
oDate2 = new Date((aDate[1] + '-' + aDate[2] + '-' + aDate[0]).replace(/-/g, "/"));
var diff = oDate1 - oDate2;
iDays = parseInt(diff / 1000 / 60 / 60 / 24);
//把相差的毫秒数转换为天数
if (isNaN(iDays)) return null;
return iDays;
}

 

/**
* 日期比较 支持格式YYYY-mm-dd HH:mm:ss比较
* @param Date1 日期1
* @param Date2 日期2
* @returns 差值(为0相等 正值 Date1 大于 Date2 负值相反) 格式不正确返回null
* @dada 2016-09-19 lhh添加备注
*/
function comptime(Date1, Date2) {
var higTimes = Date1.substring(0, 10).split('-');
var lowTimes = Date2.substring(0, 10).split('-');
higTime = higTimes[1] + '-' + higTimes[2] + '-' + higTimes[0] + ' ' + higDate.substring(10, 19);
lowTime = lowTimes[1] + '-' + lowTimes[2] + '-' + lowTimes[0] + ' ' + lowDate.substring(10, 19);
var num = (Date.parse(higTime) - Date.parse(lowTime)) / 3600 / 1000;
if (isNaN(num)) return null;
return num;
}
/**
* 两个日期的比较
* @param strDateStart
* @param strDateEnd
* @returns {Boolean}
*/
function twoDateSize(strDateStart, strDateEnd) {
var strSeparator = "-"; // 日期分隔符
var oDate1;
var oDate2;
var iDays;
oDate1 = strDateStart.split(strSeparator);
oDate2 = strDateEnd.split(strSeparator);
var strDateS = new Date(oDate1[0], oDate1[1] - 1, oDate1[2]);
var strDateE = new Date(oDate2[0], oDate2[1] - 1, oDate2[2]);
//开始大于结束
if (strDateS > strDateE) {
return false;
} else {
return true;
}
}
function getDays(strDateStart, strDateEnd) {
var strSeparator = "-"; // 日期分隔符
var oDate1;
var oDate2;
var iDays;
oDate1 = strDateStart.split(strSeparator);
oDate2 = strDateEnd.split(strSeparator);
var strDateS = new Date(oDate1[0], oDate1[1] - 1, oDate1[2]);
var strDateE = new Date(oDate2[0], oDate2[1] - 1, oDate2[2]);
iDays = parseInt(Math.abs(strDateS - strDateE) / 1000 / 60 / 60 / 24); // 把相差的毫秒数转换为天数
return iDays;
}

  

 

计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd和YYYY-mm-dd HH:mm:ss的更多相关文章

  1. tp5 计算两个日期之间相差的天数

    //两个日期之间相差的天数 function diffBetweenTwoDays ($day1, $day2) { $second1 = strtotime($day1); $second2 = s ...

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

    说明:如:1900-01-01与1900-01-01之间算一天 private static int DateDiff(DateTime dateStart, DateTime dateEnd) { ...

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

    DateTime dtLast = new DateTime(Convert.ToInt32(LastMenses.Year), Convert.ToInt32(LastMenses.Month), ...

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

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  5. PHP 求两个日期之间相差的天数、月数

    <?php /** * 求两个日期之间相差的天数 * (针对1970年1月1日之后,求之前可以采用泰勒公式) * @param string $day1 * @param string $day ...

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

    [原创] 之前在很多竞赛的题目中有这样饿一类题,计算给定两个日期之间的相隔天数,或者很多类似的题目,都是需要转化到这个问题上时,之前用c++写的时候思想是这样的,一个结构体,包括年月日,还有一个计算下 ...

  7. 计算两个日期之间相差的年数月数天数(JS实现)

    前言 如何计算年龄?我的第一直觉做法:(当前时间戳 - 出生时的时间戳)/ (365*86400)  所得结果向下取整.后来发现这种做法获得的结果不准确,不是多了一岁就是少了一岁,不能简单粗暴的这么处 ...

  8. 自己设计一个日期类,可以输入年月日作为构造时的参数,如果不使用参数,则设定为1900年1月1日;编写一个方法equals判断两个日期是否相等;另一个方法compareTo可以进行日期之间的比较,返回两个日期之间相差的天数.

    import java.util.*; import java.lang.Math; class Date1{ private int year; private int month; private ...

  9. js 计算两个日期之间 相差几年几月几日

    1.计算日期差 Mine.vue <!-- 我的 --> <template> <div> <!-- 标题栏 --> <x-header :lef ...

随机推荐

  1. [html] Webp、Apng图片格式

    WebP格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式.图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器带宽资源和数据空间. 与JPEG相同,WebP是一种有损压缩.但谷 ...

  2. How to get Directory size in IsolatedStorage of Windows Phone 8 App

    There is no API to get the total size of a specific directory in the isolated storage. Therefore, th ...

  3. CUDA与OpenGL互操作

    当处理较大数据量的时候,往往会用GPU进行运算,比如OpenGL或者CUDA.在实际的操作中,往往CUDA实现并行计算会比OpenGL更加方便,而OpenGL在进行后期渲染更具有优势.由于CUDA中的 ...

  4. SpringMvc文件资源防止被外链链接

    /** * 文件下载防止文件被别的网站引用 * 直接访问会访问不了 * @Description: * @param type * 文件后缀名 * @param fileName * 文件名 * @p ...

  5. Confluence 6 附件是如何被索引的

    当一个文件被上传到 Confluence 后,Confluence 将会尝试对文件进行解压,然后对文件中的内容进行索引.这样系统就能够允许用户对文件中的内容进行搜索,而不仅仅是搜索文件名.这个过程对系 ...

  6. Scala字符串与容器

    String 前文已经说明了字符串的声明方式: var s = "Hello World"; var s: String = "Hello World"; 在 ...

  7. OpenResty全功能Web应用服务器,打包了标准的 nginx 核心

    OpenResty打包了标准的 nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. 通过揉和众多设计良好的 nginx 模块,OpenResty 有效地把 nginx 服务器转变为一个 ...

  8. 某模拟题(USACO部分题+noip2005部分题)

    题目描述 农场上有N(1 <= N <= 50,000)堆草,放在不同的地点上.FJ有一辆拖拉机,也在农场上.拖拉机和草堆都表示为二维平面上的整数坐标,坐标值在1..1000的范围内.拖拉 ...

  9. React-Todos

    最近学完React的最基本概念,闲下来的时候就自己写了一个Todo-List的小应用.这里做个简略的说明,给想好好学React的新手看. React-Todo 学习前提 这里我用了webpackb做了 ...

  10. 洛谷 P2015 二叉苹果树

    老规矩,先放题面 题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1. 我们用一根树枝两端 ...