Javascript日期对象日期不正确

时间:2016-01-30 19:22:58

标签: javascript jquery

您好我需要另外一套眼睛。我创建了这个代码来设置一个包含当前日期的日历,它工作正常,但今天,坐在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>');

感谢您提供任何意见

1 个答案:

答案 0 :(得分:1)

您的代码

date.getDate() - date.getDay() - 1; 

将返回23,因为我们目前在2016年1月30日 - 所以它完全按照你的要求去做:)

查看Date.jsMoment.js,这些方法有很多辅助方法,可以更轻松地进行日期算术运算。

我猜你不希望所显示的一周总是从星期六23日到星期五29日。

可能的解决方案:调用getDate()检查结果是否为星期六,将其用作var saturday,然后从那里可以推断周一至周五。但是,如果getDate()不是星期六找到上一个星期六并使用它。

此外,calendars

的有用资源

去吧 - 如果你不能这样做,那么给我留言,我很乐意帮忙。