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

一波JavaScript日期判断脚本分享,一波javascript

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()]); 

您可能感兴趣的文章:

  • js日期插件dateHelp获取本月、三个月、今年的日期
  • javascript求日期差的方法
  • 获取阴历(农历)和当前日期的js代码
  • 原生javascript实现自动更新的时间日期
  • JS获取时间的相关函数及时间戳与时间日期之间的转换
  • javascript显示上周、上个月日期的处理方法
  • js实现prototype扩展的方法(字符串,日期,数组扩展)
  • javascript简单比较日期大小的方法
  • javascript日期格式化方法小结
  • js实现根据身份证号自动生成出生日期
  • JavaScript实现字符串与日期的互相转换及日期的格式化

1、比较两个日期先后 var x = new Date(‘2015-05-25’); var y = new
Date(‘2015-05-25’); if (x.getTime() == y.getTim…

相关文章