当前位置:  开发笔记 > 编程语言 > 正文

如何从JavaScript中的日期对象获取前一周的第一天?

如何解决《如何从JavaScript中的日期对象获取前一周的第一天?》经验,为你挑选了2个好方法。

给定一个日期对象,如何获得前一周的第一天



1> thomasrutter..:

这个Datejs库看起来可以相对容易地做到这一点.



2> Brian R. Bon..:

码:

function getPreviousSunday()
{
    var today=new Date();
    return new Date().setDate(today.getDate()-today.getDay()-7);
}


function getPreviousMonday()
{
    var today=new Date();
    if(today.getDay() != 0)
      return new Date().setDate(today.getDate()-7-6);
    else
      return new Date().setDate(today.getDate()-today.getDay()-6);
}

推理:

取决于前一周的第一天你的意思.为了讨论,我会假设你的意思是前一个星期天.

要查找要减去的天数:

获取当周的当天.

如果当周的当天是星期日,则减去7天

如果当天是星期一,则减去8天

...

如果当天是星期六13天

确定减去天数后的实际代码很简单:

var previous_first_day_of_week=new Date().setDate(today.getDate()-X);

其中X是上面讨论的值.这个值是today.getDay()+ 7

如果在一周的第一天你意味着别的东西,你应该能够从上面的步骤中推断出答案.

注意:将负值传递给setDate函数是有效的,它将正常工作.

对于周一的代码.你有这种特殊情况,因为getDay()在星期一之前订购.因此,在这种情况下,我们基本上用getDay()的星期六值+ 1来替换getDay(),以便将星期日重新订购到本周末.

我们使用6的值作为星期一的减法因为getDay()每天返回1比我们想要的高.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有