關於js判斷時間總結 如大於18:00點

1.時間Date的函數

Date() 返回當日的日期和時間。
getDate() 從 Date 對象返回一個月中的某一天 (1 ~ 31)。
getDay() 從 Date 對象返回一週中的某一天 (0 ~ 6)。
getMonth() 從 Date 對象返回月份 (0 ~ 11)。
getFullYear() 從 Date 對象以四位數字返回年份。
getYear() 請使用 getFullYear() 方法代替。
getHours() 返回 Date 對象的小時 (0 ~ 23)。
getMinutes() 返回 Date 對象的分鐘 (0 ~ 59)。
getSeconds() 返回 Date 對象的秒數 (0 ~ 59)。
getMilliseconds() 返回 Date 對象的毫秒(0 ~ 999)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒數。
getTimezoneOffset() 返回本地時間與格林威治標準時間 (GMT) 的分鐘差。
getUTCDate() 根據世界時從 Date 對象返回月中的一天 (1 ~ 31)。
getUTCDay() 根據世界時從 Date 對象返回週中的一天 (0 ~ 6)。
getUTCMonth() 根據世界時從 Date 對象返回月份 (0 ~ 11)。
getUTCFullYear() 根據世界時從 Date 對象返回四位數的年份。
getUTCHours() 根據世界時返回 Date 對象的小時 (0 ~ 23)。
getUTCMinutes() 根據世界時返回 Date 對象的分鐘 (0 ~ 59)。
getUTCSeconds() 根據世界時返回 Date 對象的秒鐘 (0 ~ 59)。
getUTCMilliseconds() 根據世界時返回 Date 對象的毫秒(0 ~ 999)。
parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒數。
setDate() 設置 Date 對象中月的某一天 (1 ~ 31)。
setMonth() 設置 Date 對象中月份 (0 ~ 11)。
setFullYear() 設置 Date 對象中的年份(四位數字)。
setYear() 請使用 setFullYear() 方法代替。
setHours() 設置 Date 對象中的小時 (0 ~ 23)。
setMinutes() 設置 Date 對象中的分鐘 (0 ~ 59)。
setSeconds() 設置 Date 對象中的秒鐘 (0 ~ 59)。
setMilliseconds() 設置 Date 對象中的毫秒 (0 ~ 999)。
setTime() 以毫秒設置 Date 對象。
setUTCDate() 根據世界時設置 Date 對象中月份的一天 (1 ~ 31)。
setUTCMonth() 根據世界時設置 Date 對象中的月份 (0 ~ 11)。
setUTCFullYear() 根據世界時設置 Date 對象中的年份(四位數字)。
setUTCHours() 根據世界時設置 Date 對象中的小時 (0 ~ 23)。
setUTCMinutes() 根據世界時設置 Date 對象中的分鐘 (0 ~ 59)。
setUTCSeconds() 根據世界時設置 Date 對象中的秒鐘 (0 ~ 59)。
setUTCMilliseconds() 根據世界時設置 Date 對象中的毫秒 (0 ~ 999)。
toSource() 返回該對象的源代碼。
toString() 把 Date 對象轉換爲字符串。
toTimeString() 把 Date 對象的時間部分轉換爲字符串。
toDateString() 把 Date 對象的日期部分轉換爲字符串。
toGMTString() 請使用 toUTCString() 方法代替。
toUTCString() 根據世界時,把 Date 對象轉換爲字符串。
toLocaleString() 根據本地時間格式,把 Date 對象轉換爲字符串。
toLocaleTimeString() 根據本地時間格式,把 Date 對象的時間部分轉換爲字符串。
toLocaleDateString() 根據本地時間格式,把 Date 對象的日期部分轉換爲字符串。
UTC() 根據世界時返回 1970 年 1 月 1 日 到指定日期的毫秒數。
valueOf() 返回 Date 對象的原始值。

2判斷時間點大小或在某一區間
判斷時間點在 18:00 前

var value = "2020-06-05 17:58:00";
var hh =getHours(new Date(value));
var mm = getMinutes(new Date(value));
 if ('18:0'==(hh+':'+mm))||hh<=17){
   // 正確
 }else{
 //錯誤
 }

或者是bootstrapValidator 表單校驗中的時間點校驗 bidEvaluationEndTime這個字段

  "_M.bidEvaluationStartTime": {
                 validators: {
                     callback: {
                         message: '評標開始時間不能是當天,且不能早於9:00',
                         callback:function(value, validator,$field){
                        	 var hh =getHours(new Date(value));
                        	 var date = new Date();
                        	 var nowDate = formatDate(date);
                        	 var value = formatDate(new Date(value));
                           return nowDate != value && hh>9 && hh<18;
                         }
                     }
                 }
             },
"_M.bidEvaluationEndTime": {
                 validators: {
                     callback: {
                         message: '評標結束時間不能晚於18:00',
                         callback:function(value, validator,$field){
                        	var hh =getHours(new Date(value));
                        	var mm = getMinutes(new Date(value));
                        	return (('18:0'==(hh+':'+mm))||hh<=17);
                         }
                     }
                 }
             }

上面校驗用到的函數

//獲取 天的函數 2020-06-05
        function formatDate(date) {
			  var YY = date.getFullYear() + '-';
			  var MM = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
			  var DD = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate());
			  return YY + MM + DD;
		}
		//獲取小時 8
		function getHours(date) {
			  var HH= date.getHours();
			  return HH;
		}
		//獲取分鐘  15
		function getMinutes(date) {
			  var mm= date.getMinutes();
			  return mm;
		}

如果是 當天的話, 直接使用 new Date() 獲取當天的時間 在根據時間函數來進行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章