new date() 计算本周周一日期
需求:计算某天的那一周周一的日期
1.new Date()
date.getDay(); //获取周几 0-6 date.getTime();//获取时间戳 1302883200000
2.获取几天后的时间
function addDay(dayNumber, date) { date = date ? date : new Date(); var ms = dayNumber * (1000 * 60 * 60 * 24); var newDate = new Date(date.getTime() + ms); return newDate; }
dayNumber 增加或减少的天数,正负整数
data 时间 无传入默认当前时间
原理:将时间戳增加时间的毫秒数再转回时间格式
3.计算周一日期
function getTheDay(strTime) { //将获取的字符转转换为 new date var date= new Date(Date.parse(strTime.replace(/-/g,"/"))); //获取该天是周几 var datnum=date.getDay(); //调用addDay方法获取本周一new date console.log(date.getTime()) var getdays = addDay(-datnum+1,date); console.log(getdays.getDay()) //将得到的new date转换为时间 var getday = getdays.getFullYear()+"-"+(getdays.getMonth()+1)+"-"+getdays.getDate(); return getday; }
demo源码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="jquery.js"></script> </head> <body> <script> $(function () { var strTime="2011-04-16"; //调用封装好的方法 getTheDay(strTime); console.log(getTheDay(strTime)) function getTheDay(strTime) { //将获取的字符转转换为 new date var date= new Date(Date.parse(strTime.replace(/-/g,"/"))); //获取该天是周几 var datnum=date.getDay(); //调用addDay方法获取本周一new date console.log(date.getTime()) var getdays = addDay(-datnum+1,date); console.log(getdays.getDay()) //将得到的new date转换为时间 var getday = getdays.getFullYear()+"-"+(getdays.getMonth()+1)+"-"+getdays.getDate(); return getday; } // 方法 增添dayNumber天(整形),date:如果没传就使用今天(日期型) function addDay(dayNumber, date) { date = date ? date : new Date(); var ms = dayNumber * (1000 * 60 * 60 * 24); var newDate = new Date(date.getTime() + ms); return newDate; } }) </script> </body> </html>
钻研不易,转载请注明出处。