扫码关注官方订阅号
如果用户输入了一个日期(2015-10-10),怎样判断这个日期在当前日期的一个星期之内?
ringa_lee
思路很简单,就是比较输入的时间和现在的时间相差的毫秒数,看它和一周的毫秒数的大小
var input = new Date(2015,7,29) //你要用正则成功的截取正确格式的参数,并注意月份和实际输入的相差1 function isWeek() { return Math.abs(input - new Date()) < 7*24*3600*1000 //时间差和一周时间的比较 }
计算指定日期的星期范围 代码再做些优化吧
function getWeekRangeBy(someDateTime) { var weekFirstDate,weekEndDate; if (someDateTime.getDay() === 0) { weekFirstDate=new Date(someDateTime.getTime()-6*24*3600*1000); weekEndDate=someDateTime; } else if (someDateTime.getDay() === 1) { weekFirstDate=someDateTime; weekEndDate=new Date(someDateTime.getTime()+6*24*3600*1000); } else if (someDateTime.getDay() === 2) { weekFirstDate=new Date(someDateTime.getTime()-1*24*3600*1000); weekEndDate=new Date(someDateTime.getTime()+5*24*3600*1000); } else if (someDateTime.getDay() === 3) { weekFirstDate=new Date(someDateTime.getTime()-2*24*3600*1000); weekEndDate=new Date(someDateTime.getTime()+4*24*3600*1000); } else if (someDateTime.getDay() === 4) { weekFirstDate=new Date(someDateTime.getTime()-3*24*3600*1000); weekEndDate=new Date(someDateTime.getTime()+3*24*3600*1000); } else if (someDateTime.getDay() === 5) { weekFirstDate=new Date(someDateTime.getTime()-4*24*3600*1000); weekEndDate=new Date(someDateTime.getTime()+2*24*3600*1000); } else if (someDateTime.getDay() === 6) { weekFirstDate=new Date(someDateTime.getTime()-5*24*3600*1000); weekEndDate=new Date(someDateTime.getTime()+1*24*3600*1000); } return { weekFirstDate:new Date(clearDateFormater(weekFirstDate)), weekEndDate:new Date(clearDateFormater(weekEndDate)) } }
由于说的不是很详细,我的思路如下:
//获取输入时间内容var inputTime=document.formName.inputName.value;
//然后用这个输入时间去建立一个时间对象//这里的inputTime格式很重要,会决定是否创建时间成功
var inputTimeObject=new Date(inputTime);
//然后就是获取当下的时间
var nowTimeObject=new Date();
//然后比较输入时间和当前时间的差
//一周的时间以毫秒计算出来
var weekMilliSeconds=72460601000;
//然后比较 inputTimeObject和nowTimeObject的差额是不是在 weekMilliSeconds之内
@yujieyu7 的答案是正确的,我说个不正确的。`
var date="2015-05-06"; var nowDate="2015-05-09";var _day=nowDate.replace(/-/g,"")1-date.replace(/-/g,"")1;`
这种时间的比较,最后一般都要换成毫秒。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
思路很简单,就是比较输入的时间和现在的时间相差的毫秒数,看它和一周的毫秒数的大小
计算指定日期的星期范围
代码再做些优化吧
由于说的不是很详细,我的思路如下:
//获取输入时间内容
var inputTime=document.formName.inputName.value;
//然后用这个输入时间去建立一个时间对象
//这里的inputTime格式很重要,会决定是否创建时间成功
var inputTimeObject=new Date(inputTime);
//然后就是获取当下的时间
var nowTimeObject=new Date();
//然后比较输入时间和当前时间的差
//一周的时间以毫秒计算出来
var weekMilliSeconds=72460601000;
//然后比较 inputTimeObject和nowTimeObject的差额是不是在 weekMilliSeconds之内
@yujieyu7 的答案是正确的,我说个不正确的。`
var date="2015-05-06";
var nowDate="2015-05-09";
var _day=nowDate.replace(/-/g,"")1-date.replace(/-/g,"")1;
`
这种时间的比较,最后一般都要换成毫秒。