javascript获取当天日期,计算出该天所属周,列出本周从周一至周日的所有日期,求大神帮助!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript获取当天日期,计算出该天所属周,列出本周从周一至周日的所有日期,求大神帮助!相关的知识,希望对你有一定的参考价值。

我原本的想法是获取当天日期,判断是星期几,比如是星期五,那么用该天日期减去4就是周一的日期,加上2就是周日的日期,以此类推。但是如果本周跨两个月的话就出现了问题,月份是30天进一位,且每月的天数不一,这样的话就要判断月份是几月,还要判断是闰年、平年。这样去实现就太复杂了,所以想问大神们有没有什么其他简便做法,写个例子最好!输出效果如下图所示,主要是下图红框中数据获取的实现。

【代码】
// 获取当前星期的星期一的日期,返回的是一个Date对象。
function getMonDate()

var d=new Date(),
day=d.getDay(),
date=d.getDate();
if(day==1)
return d;
if(day==0)
d.setDate(date-6);
else
d.setDate(date-day+1);
return d;

// 0-6转换成中文名称
function getDayName(day)

var day=parseInt(day);
if(isNaN(day) || day<0 || day>6)
return false;
var weekday=["星期天","星期一","星期二","星期三","星期四","星期五","星期六"];
return weekday[day];

// d是当前星期一的日期对象
var d=getMonDate();
var arr=[];
for(var i=0; i<7; i++)

arr.push(d.getFullYear()+'年'+(d.getMonth()+1)+'月'+d.getDate()+'日 ('+getDayName(d.getDay())+')');
d.setDate(d.getDate()+1);

【显示】
2013年3月18日 (星期一)
2013年3月19日 (星期二)
2013年3月20日 (星期三)
2013年3月21日 (星期四)
2013年3月22日 (星期五)
2013年3月23日 (星期六)
2013年3月24日 (星期天)
参考技术A 按你说的方法做没问题。var date = new Date(); date.setDate(date.getDate() - 1)之后月份年份会自动变化的,所以不用担心跨月跨年。
例如 var date = new Date(); date.setDate(1);
现在它是2013.3.1了,date.setDate(date.getDate() - 1);
现在它是2013.2.28了本回答被提问者采纳

以上是关于javascript获取当天日期,计算出该天所属周,列出本周从周一至周日的所有日期,求大神帮助!的主要内容,如果未能解决你的问题,请参考以下文章

如何计算当前日期是当年的第几周

输入年份,然后打印出该年的万年历,以及标识出当天日期。相似于linux下的cal -y结果。

如何通过动态参数实现周报制作

最全的前端javaScript时间处理函数

JavaScript获取当天到14天内的日期及星期几

javascript获取当天本周本月本年 开始及结束时间