一波JavaScript日期判断脚本分享
来源: 阅读:826 次 日期:2016-07-22 16:37:06
温馨提示: 小编为您整理了“一波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()]); 

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map