/**
* 日期解析,字符串转日期
* @param dateString 可以为2017-02-16,2017/02/16,2017.02.16
* @returns {Date} 返回对应的日期对象
*/
function dateParse(dateString){
var SEPARATOR_BAR = "-";
var SEPARATOR_SLASH = "/";
var SEPARATOR_DOT = ".";
var dateArray;
if(dateString.indexOf(SEPARATOR_BAR) > -1){
dateArray = dateString.split(SEPARATOR_BAR);
}else if(dateString.indexOf(SEPARATOR_SLASH) > -1){
dateArray = dateString.split(SEPARATOR_SLASH);
}else{
dateArray = dateString.split(SEPARATOR_DOT);
}
return new Date(dateArray[0], dateArray[1]-1, dateArray[2]);
}; /**
* 日期比较大小
* compareDateString大于dateString,返回1;
* 等于返回0;
* compareDateString小于dateString,返回-1
* @param dateString 日期
* @param compareDateString 比较的日期
*/
function dateCompare(dateString, compareDateString){
if(isEmpty(dateString)){
alert("dateString不能为空");
return;
}
if(isEmpty(compareDateString)){
alert("compareDateString不能为空");
return;
}
var dateTime = dateParse(dateString).getTime();
var compareDateTime = dateParse(compareDateString).getTime();
if(compareDateTime > dateTime){
return 1;
}else if(compareDateTime == dateTime){
return 0;
}else{
return -1;
}
}; /**
* 判断日期是否在区间内,在区间内返回true,否返回false
* @param dateString 日期字符串
* @param startDateString 区间开始日期字符串
* @param endDateString 区间结束日期字符串
* @returns {Number}
*/
function isDateBetween(dateString, startDateString, endDateString){
if(isEmpty(dateString)){
alert("dateString不能为空");
return;
}
if(isEmpty(startDateString)){
alert("startDateString不能为空");
return;
}
if(isEmpty(endDateString)){
alert("endDateString不能为空");
return;
}
var flag = false;
var startFlag = (dateCompare(dateString, startDateString) < 1);
var endFlag = (dateCompare(dateString, endDateString) > -1);
if(startFlag && endFlag){
flag = true;
}
return flag;
}; /**
* 判断日期区间[startDateCompareString,endDateCompareString]是否完全在别的日期区间内[startDateString,endDateString]
* 即[startDateString,endDateString]区间是否完全包含了[startDateCompareString,endDateCompareString]区间
* 在区间内返回true,否返回false
* @param startDateString 新选择的开始日期,如输入框的开始日期
* @param endDateString 新选择的结束日期,如输入框的结束日期
* @param startDateCompareString 比较的开始日期
* @param endDateCompareString 比较的结束日期
* @returns {Boolean}
*/
function isDatesBetween(startDateString, endDateString,
startDateCompareString, endDateCompareString){
if(isEmpty(startDateString)){
alert("startDateString不能为空");
return;
}
if(isEmpty(endDateString)){
alert("endDateString不能为空");
return;
}
if(isEmpty(startDateCompareString)){
alert("startDateCompareString不能为空");
return;
}
if(isEmpty(endDateCompareString)){
alert("endDateCompareString不能为空");
return;
}
var flag = false;
var startFlag = (dateCompare(startDateCompareString, startDateString) < 1);
var endFlag = (dateCompare(endDateCompareString, endDateString) > -1);
if(startFlag && endFlag){
flag = true;
}
return flag;
};</span>

js 日期比较大小,js判断日期是否在区间内,js判断时间段是否在另外一个时间段内

js判断时间区间是否在另外一个时间区间内,js时间格式化,js时间比较大小

js 日期比较大小,js判断日期是否在区间内,js判断时间段是否在另外一个时间段内的更多相关文章

  1. MSSQL 判断一个时间段是否在另一个时间段内!

    MSSQL 判断一个时间段是否在另一个时间段内! 1 CREATE TABLE #B ( MeetingRoom int, BeginTime datetime, EndTime datetime ) ...

  2. MYSQL 判断一个时间段是否在另一个时间段内。

    [1 CREATE TABLE #B 2 ( 3 MeetingRoom int, 4 BeginTime datetime, 5 EndTime datetime6 ) 7 insert into ...

  3. js 判断当前时间是否处于某个一个时间段内

    js 判断当前时间(或者所选时间)是否在某一时间段 我们可以使用 jutils - JavaScript常用函数库的 isDuringDate 函数来实现 传入 beginDateStr (开始时间) ...

  4. js比较日期大小 判断日期

    使用js的方法来判断两个日期的先后关系,不能正常判断,因此手写了一个方法,如下: //判断开始日期是否大于结束日期,注意,该方法仅仅适用于“2010-01-01”这样的日期格式!   function ...

  5. js两个日期对比大小

     //适合格式(0000-00-00) //日期比较 function dateCompare(startdata, enddata) { var arr = startdata.split(&quo ...

  6. js 日期时间大小比较

    <body> 开始时间:<input onfocus="setday(this)" id="startTime" name="sta ...

  7. JS判断日期是否在同一个星期内,和同一个月内

    今天要用到判断日期是否在同一个星期内和是否在同一个月内,在网上找了好一会儿也没找到合适的,然后自己写了一个方法来处理这个问题,思路就不详细介绍了,直接附上代码,自己测试了一下 没有问题,若有问题请在评 ...

  8. js 比较两个日期的大小的例子

    例子,直接比较大小即可 代码如下 复制代码 <script>var st="2009-10-20 14:38:40"var et="2009-10-20 15 ...

  9. js正则判断日期

    //****************************************************************************// Function ID : Commo ...

随机推荐

  1. :before添加图片,IE8兼容

    这是项目开发中遇到的奇怪的小问题: 在IE8下出现按钮点击后消失了,鼠标点击页面后却又出现: 最初的代码:添加背景图片的方法,这样是存在兼容问题的. 更改后代码:content中添加图片,完美兼容IE ...

  2. vs2012密钥

    Microsoft Visual Studio Ultimate 2012 旗舰版 有效注册密钥:YKCW6-BPFPF-BT8C9-7DCTH-QXGWC:KCW6-BPFPF-BT8C9-7DCT ...

  3. Spring boot+ logback环境下,日志存放路径未定义的问题

    日志路径未定义 环境:Spring boot + logback 配置文件: <configuration> <springProfile name="dev"& ...

  4. from组件补充

    一.定义的规则 class TeacherForm(Form): #必须继承Form # 创建字段,本质上是正则表达式 username = fields.CharField( required=Tr ...

  5. python学习 第二天

    一.变量 1.变量名: 数字,字母,下划线 alex1=123 sb=“alex” a_lex=“sb” 不能以数字开头 lalex 变量名不是python内部的关键字 {‘and’,'as','as ...

  6. ES 6 系列 - Promise

    一.含义 是异步编程的一种解决方案,es 6 将其变成了标准. 简单的说是一个容器,里面保存了某个未来才会结束的事件(通常是一个异步操作)的结果.语法上, Promise 是一个对象,从它可以获取异步 ...

  7. How to install macOS Sierra on Skylake

    create usb installer sudo /Applications/Install\ macOS\ Sierra.app/contents/resources/createinstallm ...

  8. Condition线程通信(七)

    前言:对于线程通信,使用synchronized时使用wait.notify和notifyAll来实行线程通信.而使用Lock如何处理线程通信呢?答案就是本片的主角:Condition. 一.Cond ...

  9. 使用Windows任务计划程序运行Windows PowerShell脚本

    创建计划任务以运行PowerShell脚本 我需要创建一个计划任务来运行Windows PowerShell脚本的第一件事是我将执行的命令行.找到这个的简单方法是使用Run 命令.有时,我需要知道什么 ...

  10. iOS后台运行播放无声音频 测试可行

    如果打回来了,就自认倒霉吧 制作无声音频. @interface AppDelegate () { NSInteger count; } @property(strong, nonatomic)NST ...