java getdate和getday,jq里面,如何用getDate()和getDay()函数遍历出当月的所有日子和星期?...

比如现在是8月,我想得到1至31日这31个数字,并同时得到对应的星期

可是问题就是,getDate()和getDay()函数只能显示1个,该怎么遍历出当月所有的呢?

新手,请指教。谢谢

var d = new Date();         // 这是当天

d.setDate(1);               // 这就是1号

var weekday = d.getDay();   // 1号星期几,从星期天为0开始

d.setMonth(d.getMonth() + 1);

d.setDate(0);               // 这两句得到最当月最后一天

var end = d.getDate();      // 最后一天的日,比如8月就是31

var days = [];

for (var i = 0; i < end; i++) {

days[i] = {

day: i + 1,

week: (weekday + i) % 7

}

}

// 最后 days 就是你想要的数据

console.log(days);

来看看 HTML 中的效果

http://jsfiddle.net/gy8r6znw/

高亮当前日期的版本在这里

http://jsfiddle.net/gy8r6znw/1/

本月第一天

new Date(new Date().getTime() – (new Date().getDate() – 1) * 86400000).getDate()

之后就是加1天直到下个月

写得不好。

var week = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];

function getNextDate(date) {

return new Date(date.getTime() + 1000 * 60 * 60 * 24);

}

function getMonthStartDate(date) {

var newDate = new Date(date);

newDate.setDate(1);

return newDate;

}

function printMonth() {

var today = new Date();

var startDay = getMonthStartDate(today);

do {

console.log(startDay.getDate());

console.log(week[startDay.getDay()]);

startDay = getNextDate(startDay);

}while(startDay.getDate() != 1);

}

printMonth();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值