首页 > 编程 > JavaScript > 正文

一波JavaScript日期判断脚本分享

2019-11-20 10:26:28
字体:
来源:转载
供稿:网友

1、比较两个日期先后

var x = new Date('2015-05-25'); var y = new Date('2015-05-25');  if (x.getTime() == y.getTime()) {  It'll be true; } 

2、是否在两个日期之间  

var beforeSpringDate, afterSpringDate;  for (var i = 0; i < springFestivalDays.length; i++) {  beforeSpringDate = new Date(springFestivalDays[i]);  beforeSpringDate.setDate(beforeSpringDate.getDate() - 4);  afterSpringDate = new Date(springFestivalDays[i]);  afterSpringDate.setDate(afterSpringDate.getDate() + springFestivalPeriod - 1);  if (time >= beforeSpringDate.getTime() && time <= afterSpringDate.getTime()) {   result = true;   break;  }  } 

3、一行代码判断是否是闰年

var input = new Date();new Date(input.getFullYear(), 1, 29).getDate() === 29 false  var input = new Date(2012,1,1);new Date(input.getFullYear(), 1, 29).getDate() === 29 true  var input = new Date(2013,1,1);new Date(input.getFullYear(), 1, 29).getDate() === 29 false  var input = new Date(2014,1,1);new Date(input.getFullYear(), 1, 29).getDate() === 29 false  var input = new Date(2014,5,1);new Date(input.getFullYear(), 1, 29).getDate() === 29 false  var input = new Date(2014,6,1);new Date(input.getFullYear(), 1, 29).getDate() === 29 false  var input = new Date(2016,6,1);new Date(input.getFullYear(), 1, 29).getDate() === 29 true  var input = new Date(2000,6,1);new Date(input.getFullYear(), 1, 29).getDate() === 29 true 

4、判断重大节日(国庆、春节)前后一周状态

var holiday = {};  function inNationalDay(date) {  var result = {  beforeNationalDay: false,  duringNationalDay: false  };  if (date) {  var month = date.getMonth() + 1,   day = date.getDate();  if (month == 9 && (day >= 24 && day <= 30)) {   result.beforeNationalDay = true;  } else if(month == 10 && (day >= 1 && day <= 7)) {   result.duringNationalDay = true;  }  }  return result; }  function inSpringFestival(date) {  var result = {  beforeSpringFestival: false,  duringSpringFestival: false  };  if (date) {  // set GMT+0800 hours(set china hour +8)  date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 8);  var time = date.getTime();  var springFestivalDays = ['2015-02-19', '2016-02-08', '2017-01-28', '2018-02-16', '2019-02-05',   '2020-01-25', '2021-02-12', '2022-02-01', '2023-01-22', '2024-02-10'];   var springDay, springDate, beforeSpringDate, afterSpringDate;  for (var i = 0; i < springFestivalDays.length; i++) {   springDay = springFestivalDays[i];   springDate = new Date(springDay);   beforeSpringDate = new Date(springDay);   beforeSpringDate.setDate(beforeSpringDate.getDate() - 7);   afterSpringDate = new Date(springDay);   afterSpringDate.setDate(afterSpringDate.getDate() + 7);   if (time >= beforeSpringDate.getTime() && time < springDate.getTime()) {   result.beforeSpringFestival = true;   break;   } else if (time >= springDate.getTime() && time < afterSpringDate.getTime()) {   result.duringSpringFestival = true;   break;   }  }  }   return result; }  holiday.cache = {  lastUpdateDate: null,  beforeHoliday: false,  duringHoliday: false };  holiday.checkHoliday = function() {  var now = new Date();  if (!holiday.cache.lastUpdateDate) {  holiday.cache.lastUpdateDate = now;  var nationalDayResult = inNationalDay(now);  var springFestivalResult = inSpringFestival(now);  holiday.cache.beforeHoliday = nationalDayResult.beforeNationalDay || springFestivalResult.beforeSpringFestival;  holiday.cache.duringHoliday = nationalDayResult.duringNationalDay || springFestivalResult.duringSpringFestival;  } else {  var lastUpdateDate = holiday.cache.lastUpdateDate;  var cacheDate = lastUpdateDate.getFullYear() + '' + lastUpdateDate.getMonth() + '' + lastUpdateDate.getDate();  var nowDate = now.getFullYear() + '' + now.getMonth() + '' + now.getDate();  if (cacheDate != nowDate) {   holiday.cache.lastUpdateDate = now;   var nationalDayResult = inNationalDay(now);   var springFestivalResult = inSpringFestival(now);   holiday.cache.beforeHoliday = nationalDayResult.beforeNationalDay || springFestivalResult.beforeSpringFestival;   holiday.cache.duringHoliday = nationalDayResult.duringNationalDay || springFestivalResult.duringSpringFestival;  }  } };  module.exports = holiday; 

5、判断星期几

<SCRIPT> var s = '2011-11-17'; alert( "今天星期 "+"天一二三四五六 ".charAt(new Date(s).getDay())); alert("星期 " + new Date(s).getDay()); </SCRIPT> 

也可以这样:

var weekDay = ["星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];   var dateStr = "2008-08-08";   var myDate = new Date(Date.parse(dateStr.replace(/-/g, "/")));   alert(weekDay[myDate.getDay()]); 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表