js如何比較兩個(gè)日期的時(shí)間大小簡(jiǎn)單代碼示例
介紹
使用js比較兩個(gè)日期的時(shí)間大小,一般在前臺(tái)選擇時(shí)間時(shí)常常使用。比如:結(jié)束時(shí)間不能小于開始時(shí)間,開始時(shí)間不能小于當(dāng)前時(shí)間等。
代碼示例
示例一:開始時(shí)間不能小于當(dāng)前時(shí)間
//開始時(shí)間
var startTime = '2024-04-22'
//當(dāng)前時(shí)間
var currentDate = new Date();
var currentDateStr = currentDate.getFullYear() + '-' + (currentDate.getMonth() + 1) + '-' + currentDate.getDate();
if (new Date(currentDateStr).getTime() > new Date(startTime).getTime()) {
alert('開始時(shí)間不能小于當(dāng)前時(shí)間')
}
示例二:結(jié)束時(shí)間不能小于開始時(shí)間
var startTime = '2024-04-22'
var endTime = '2024-04-21'
if (new Date(startTime).getTime() > new Date(endTime).getTime()) {
alert('結(jié)束時(shí)間不能小于開始時(shí)間')
}
正式環(huán)境中時(shí)間的判斷流程
首先判斷開始、結(jié)束時(shí)間是否為空,不為空再判斷結(jié)束時(shí)間是否小于開始時(shí)間
var startTime = $("#startTime").val()
var endTime = $("#endTime").val()
if(isEmpty(startTime)){
initError('生效時(shí)間不能為空',$('#startTime').next());
flag = false;
}
if(isEmpty(endTime)){
initError('失效時(shí)間不能為空',$('#endTime').next());
flag = false;
}
if(!isEmpty(startTime)&&!isEmpty(endTime)) {
var currentDate = new Date();
var currentDateStr = currentDate.getFullYear() + '-' + (currentDate.getMonth() + 1) + '-' + currentDate.getDate();
if (new Date(currentDateStr).getTime() > new Date(startTime).getTime()) {
initError('生效時(shí)間不能小于當(dāng)前時(shí)間', $('#startTime').next());
flag = false;
}else{
if (new Date(startTime).getTime() > new Date(endTime).getTime()) {
initError('生效時(shí)間不能大于失效時(shí)間', $('#startTime').next());
flag = false;
}
}
}附:js兩個(gè)日期比較相差多少天實(shí)例
首先來(lái)分析一個(gè)問(wèn)題,兩個(gè)日期是什么格式的?假設(shè)是字符串格式:
可能是:2018/04/20,也可能是:2018/04/20 12:00:00
那接下來(lái)分情況討論。
首先看看不含時(shí)間部分的日期格式計(jì)算:
var aDate = new Date('2018/04/23'); // 通過(guò)日期字符串,初始化第一個(gè)日期對(duì)象
var bDate = new Date('2018/04/25'); // 同上,初始化第二個(gè)日期對(duì)象
var aDay = 24 * 60 * 60 * 1000; // 完整一天有24小時(shí),將小時(shí)換算成毫秒時(shí)間戳
var diffDay = (bDate - aDate) / aDay; // 計(jì)算間隔天數(shù)(注意日期隱式轉(zhuǎn)換)
console.log(diffDay); // 2,23日-25日間隔2天然后再來(lái)看看包含時(shí)間部分的日期格式計(jì)算:
var aDate = new Date('2018/04/23');
var bDate = new Date('2018/04/25 12:00:00'); // 包含時(shí)間的日期字符串
var aDay = 24 * 60 * 60 * 1000;
var diffDay = (bDate - aDate) / aDay;
console.log(diffDay); // 2.5,自然計(jì)算的結(jié)果
console.log(Math.floor(diffDay)); // 2,根據(jù)個(gè)人情況向下取整,整數(shù)天
console.log(Math.ceil(diffDay)); // 3,根據(jù)個(gè)人情況向上取整,整數(shù)天總結(jié)
到此這篇關(guān)于js如何比較兩個(gè)日期的時(shí)間大小的文章就介紹到這了,更多相關(guān)js比較兩個(gè)日期的時(shí)間大小內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript解析JSON格式數(shù)據(jù)的方法示例
這篇文章主要介紹了JavaScript解析JSON格式數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了JavaScript解析json格式數(shù)據(jù)的常用函數(shù)與使用技巧,需要的朋友可以參考下2017-01-01
Echarts實(shí)例教程之樹形圖表的實(shí)現(xiàn)方法
眾所周知echarts是一個(gè)純JavaScript的圖標(biāo)庫(kù),下面這篇文章主要給大家介紹了關(guān)于Echarts實(shí)例之樹形圖表的實(shí)現(xiàn)方法,需要的朋友可以參考下2021-08-08
js前端對(duì)于大量數(shù)據(jù)的展示方式及處理方法
這篇文章主要介紹了js前端對(duì)于大量數(shù)據(jù)的展示方式及處理方法,幫助大家更好的理解和使用js,感興趣的朋友可以了解下2020-12-12
JavaScript實(shí)現(xiàn)請(qǐng)求服務(wù)端接口方法詳解
這篇文章主要介紹了JavaScript實(shí)現(xiàn)請(qǐng)求服務(wù)端接口方法,JavaScript?中請(qǐng)求服務(wù)端接口的代碼實(shí)現(xiàn)可能會(huì)因?yàn)槭褂玫姆椒ǘ兴煌?,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-01-01
利用JavaScript制作一個(gè)搞怪的兔子動(dòng)畫效果
又是一年新春之際,祝福大家兔年快樂(lè)!給大家介紹一個(gè)有趣的動(dòng)效(兼容?IE),頁(yè)面右下角有一只搞怪的兔子,鼠標(biāo)在頁(yè)面中懸停時(shí),兔子會(huì)跟著做出不同的動(dòng)作和表情,感興趣的小伙伴可以了解一下2023-01-01
一文詳解JS?類型轉(zhuǎn)換方法以及如何避免隱式轉(zhuǎn)換
這篇文章主要為大家介紹了JS?類型轉(zhuǎn)換方法以及如何避免隱式轉(zhuǎn)換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04

