计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd和YYYY-mm-dd HH:mm:ss
/**
* 计算两个日期之间相差的天数(带带负数) 支持格式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的更多相关文章
- tp5 计算两个日期之间相差的天数
//两个日期之间相差的天数 function diffBetweenTwoDays ($day1, $day2) { $second1 = strtotime($day1); $second2 = s ...
- C#计算两个日期之间相差的天数
说明:如:1900-01-01与1900-01-01之间算一天 private static int DateDiff(DateTime dateStart, DateTime dateEnd) { ...
- C#中如何获得两个日期之间的天数差 ( c# 计算两个日期之间相差的天数 )
DateTime dtLast = new DateTime(Convert.ToInt32(LastMenses.Year), Convert.ToInt32(LastMenses.Month), ...
- java计算两个日期之间相隔的天数
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
- PHP 求两个日期之间相差的天数、月数
<?php /** * 求两个日期之间相差的天数 * (针对1970年1月1日之后,求之前可以采用泰勒公式) * @param string $day1 * @param string $day ...
- java计算两个日期之间的相隔天数
[原创] 之前在很多竞赛的题目中有这样饿一类题,计算给定两个日期之间的相隔天数,或者很多类似的题目,都是需要转化到这个问题上时,之前用c++写的时候思想是这样的,一个结构体,包括年月日,还有一个计算下 ...
- 计算两个日期之间相差的年数月数天数(JS实现)
前言 如何计算年龄?我的第一直觉做法:(当前时间戳 - 出生时的时间戳)/ (365*86400) 所得结果向下取整.后来发现这种做法获得的结果不准确,不是多了一岁就是少了一岁,不能简单粗暴的这么处 ...
- 自己设计一个日期类,可以输入年月日作为构造时的参数,如果不使用参数,则设定为1900年1月1日;编写一个方法equals判断两个日期是否相等;另一个方法compareTo可以进行日期之间的比较,返回两个日期之间相差的天数.
import java.util.*; import java.lang.Math; class Date1{ private int year; private int month; private ...
- js 计算两个日期之间 相差几年几月几日
1.计算日期差 Mine.vue <!-- 我的 --> <template> <div> <!-- 标题栏 --> <x-header :lef ...
随机推荐
- C# json格式的序列化与反序列化
使用C#,来序列化对象成为Json格式的数据,以及如何反序列化Json数据到对象 Json[javascript对象表示方法],它是一个轻量级的数据交换格式,我们可以很简单的来读取和写它,并且它很容易 ...
- MS DOS 常用命令整理
最近在开发用到一些dos下的一些指令,还有bat文件,特别是bat的便捷性让我在生活和开发过程中好好使用. dos指令: java com.pdcss.util.JacobService > D ...
- JavaScript 正则表达式-严格匹配
创建语法 var pattern = /test/; 或者 var pattern = new RegExp("test"); 可配合使用以下三个标志 1) .i 可以使 ...
- web笔记全
1.项目流程与数据库 1.课程体系 阶段1(服务器开发): 项目导入/数据库/JS基础/NodeJS 阶段2(前端核心技术): HTML/AJAX/CSS/bootstrap 阶段3(前端进阶技术): ...
- elasticsearch 基础 —— Common Terms Query常用术语查询
常用术语查询 该common术语查询是一个现代的替代提高了精确度和搜索结果的召回(采取禁用词进去),在不牺牲性能的禁用词. 问题 查询中的每个术语都有成本.搜索"The brown fox& ...
- XMPP即时通讯协议使用(二)——基于Smack相关操作
package com.test; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator ...
- tensorflow创建cnn网络进行中文手写文字识别
数据集下载地址:http://www.nlpr.ia.ac.cn/databases/handwriting/download.html chinese_write_detection.py # -* ...
- 微信小程序(16)-- bindtap,catchtap事件绑定的区别
bindtap,catchtap事件绑定的区别,这里就涉及冒泡事件了.bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡. logs.wxml <view cl ...
- 不小心执行 rm -f,该如何恢复?
每当我们在生产环境服务器上执行rm命令时,总是提心吊胆的,因为一不小心执行了误删,然后就要准备跑路了,毕竟人不是机器,更何况机器也有 bug,呵呵. 那么如果真的删除了不该删除的文件,比如数据库.日志 ...
- 解决python中转化成json的方法不能序列化datetime类型数据(转)
Python自带的json.dumps方法序列化数据时候如果格式化的数据中有datetime类型数据时候会提示错误TypeError: datetime.datetime(2012, 12, 12, ...