欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js如何比較兩個(gè)日期的時(shí)間大小簡單代碼示例

 更新時(shí)間:2024年06月14日 10:26:21   作者:牧小七  
在JavaScript中,日期比較涉及評估兩個(gè)日期,以確定一個(gè)日期是早于、晚于另一個(gè)日期還是與另一個(gè)日期相同,這篇文章主要給大家介紹了關(guān)于js如何比較兩個(gè)日期的時(shí)間大小的相關(guān)資料,需要的朋友可以參考下

介紹

使用js比較兩個(gè)日期的時(shí)間大小,一般在前臺選擇時(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í)例

首先來分析一個(gè)問題,兩個(gè)日期是什么格式的?假設(shè)是字符串格式:

可能是:2018/04/20,也可能是:2018/04/20 12:00:00

那接下來分情況討論。

首先看看不含時(shí)間部分的日期格式計(jì)算:

var aDate = new Date('2018/04/23'); // 通過日期字符串,初始化第一個(gè)日期對象
var bDate = new Date('2018/04/25'); // 同上,初始化第二個(gè)日期對象
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天

然后再來看看包含時(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • jsonp格式前端發(fā)送和后臺接受寫法的代碼詳解

    jsonp格式前端發(fā)送和后臺接受寫法的代碼詳解

    jsonp是ajax提交的一種格式不會受跨域限制,這篇文章主要介紹了jsonp格式前端發(fā)送和后臺接受寫法的代碼詳解,需要的朋友可以參考下
    2019-11-11
  • 如何基于js管理大文件上傳及斷點(diǎn)續(xù)傳詳析

    如何基于js管理大文件上傳及斷點(diǎn)續(xù)傳詳析

    文件上傳是 Web 開發(fā)肯定會碰到的問題,而文件夾上傳則更加難,下面這篇文章主要給大家介紹了關(guān)于如何基于js管理大文件上傳及斷點(diǎn)續(xù)傳的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • 小程序開發(fā)指南之全局配置

    小程序開發(fā)指南之全局配置

    這篇文章主要給大家介紹了關(guān)于小程序開發(fā)指南之全局配置的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • js 函數(shù)式編程學(xué)習(xí)筆記

    js 函數(shù)式編程學(xué)習(xí)筆記

    這兩天看書看到了函數(shù)式編程那節(jié),感覺學(xué)到了挺多東西,之前看別人代碼都寫的挺漂亮,現(xiàn)在我寫的代碼是有點(diǎn)亂,所以還是要學(xué)習(xí)下別人的編程模式
    2017-03-03
  • JavaScript中EventBus實(shí)現(xiàn)對象之間通信

    JavaScript中EventBus實(shí)現(xiàn)對象之間通信

    這篇文章主要介紹了JavaScript中EventBus實(shí)現(xiàn)對象之間通信,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 淺談JavaScript節(jié)流與防抖

    淺談JavaScript節(jié)流與防抖

    這篇文章主要為大家介紹了JavaScript的節(jié)流與防抖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • JavaScript?刪除數(shù)組元素的方法

    JavaScript?刪除數(shù)組元素的方法

    本文主要介紹了JavaScript?刪除數(shù)組元素的方法,包括操作方法改變了原數(shù)組和操作方法不改變原數(shù)組,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • js動(dòng)態(tài)生成Html元素實(shí)現(xiàn)Post操作(createElement)

    js動(dòng)態(tài)生成Html元素實(shí)現(xiàn)Post操作(createElement)

    這篇文章主要介紹了js動(dòng)態(tài)生成Html元素實(shí)現(xiàn)Post操作(createElement),需要的朋友可以參考下
    2015-09-09
  • layui 彈出層值回傳解決方式

    layui 彈出層值回傳解決方式

    今天小編就為大家分享一篇layui 彈出層值回傳解決方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • javascript中bind函數(shù)的作用實(shí)例介紹

    javascript中bind函數(shù)的作用實(shí)例介紹

    bind()的方法在ie,6,7,8中不適用,需要擴(kuò)展通過擴(kuò)展Function prototype可以實(shí)現(xiàn)此方法,下面為大家介紹下javascript中bind函數(shù)的作用
    2014-09-09

最新評論