您好我需要另外一套眼睛。我创建了这个代码来设置一个包含当前日期的日历,它工作正常,但今天,坐在1月30日,日历仍然显示它从1月23日开始。
这是我的codepen的链接: http://codepen.io/cavascript/pen/MKXrbj
这是代码:
<script>
var addDiv;
</script>
addDiv = function addDiv() {
var newDiv = document.createElement('div');
newDiv.className = 'block-3';
iDiv.appendChild(newDiv);
newDiv.innerHTML = "Another inner div";
return false;
}
这是HTML:
var date = new Date();
var saturday = date.getDate() - date.getDay() - 1;
var sunday = date.getDate() - date.getDay() ;
var monday = date.getDate() - date.getDay() + 1 ;
var tuesday = date.getDate() - date.getDay() + 2 ;
var wednesday= date.getDate() - date.getDay() + 3 ;
var thursday = date.getDate() - date.getDay() + 4 ;
var friday = date.getDate() - date.getDay() + 5 ;
var saturday = (new Date(date.setDate(saturday))).toDateString();
var sunday = (new Date(date.setDate(sunday))).toDateString();
var monday = (new Date(date.setDate(monday))).toDateString();
var tuesday = (new Date(date.setDate(tuesday))).toDateString();
var wednesday = (new Date(date.setDate(wednesday))).toDateString();
var thursday = (new Date(date.setDate(thursday))).toDateString();
var friday = (new Date(date.setDate(friday))).toDateString();
//add to html row
$('#dateRow').html('<td colspan="4">Date</td><td colspan="4">'+saturday+'</td><td colspan="4">'+sunday+'</td><td colspan ="4">'+monday+'</td><td colspan="4">'+tuesday+'</td><td colspan="4">'+wednesday+'</td><td colspan="4">'+thursday+'</td><td colspan="4">'+friday+'</td><td>Hours</td><td>Delete</td>');
感谢您提供任何意见
答案 0 :(得分:1)
您的代码
date.getDate() - date.getDay() - 1;
将返回23,因为我们目前在2016年1月30日 - 所以它完全按照你的要求去做:)
查看Date.js或Moment.js,这些方法有很多辅助方法,可以更轻松地进行日期算术运算。
我猜你不希望所显示的一周总是从星期六23日到星期五29日。
可能的解决方案:调用getDate()检查结果是否为星期六,将其用作var saturday
,然后从那里可以推断周一至周五。但是,如果getDate()不是星期六找到上一个星期六并使用它。
此外,calendars
的有用资源去吧 - 如果你不能这样做,那么给我留言,我很乐意帮忙。