如何使用新的Date()从上一个星期日获取日期

时间:2014-02-04 01:23:39

标签: javascript

什么是使用新Date()获取上一个星期日的最佳方法?

任何想法?抱歉新手在这里*

4 个答案:

答案 0 :(得分:1)

因为这不是一项微不足道的任务,所以我建议你使用这个算法:

  • 创建日期对象
  • 从对象获取当周的当天
  • 如果它为零(星期日)将其设置为七
  • 从日期*
  • 减去很多天
  • 完成!

*由于一些相当聪明的实现,这非常有效。如果从2月2日开始减去4天,则结果是1月29日。

现在由你来编写一些代码;)

答案 1 :(得分:0)

网上的许多教程将向您展示如何使用返回星期几(从0到6)的Date.getDay()。 然后将一天减去你的日期,直到你得到预期的结果。

答案 2 :(得分:0)

这是我的变体:

var dateNow = new Date();
var dateToday = new Date(dateNow.getFullYear(), dateNow.getMonth(), dateNow.getDate());
var dateSunday = new Date(dateToday.getTime()-dateToday.getDay()*24*3600*1000);

dateSunday中,您将在星期天开始获取日期对象。

答案 3 :(得分:0)

var yourDate = new Date(Date.now() - ((new Date().getDay() + 7) * 24 * 60 * 60 * 1000));
  • Date.now()将当前日期降至毫秒,这样便于执行数学计算。
  • 新的日期()。getDay()+ 7 ,就像之前提到的海报之一找到了当天(从0开始)并添加了7,以便减去多少天我们来自最近的星期日,减去一周。
  • 24 * 60 * 60 * 1000 确保我们从当天开始减去那么多全天(以毫秒为单位)才能找到上周日。< / LI>

或者,您也可以编写一些算法。

祝你好运的朋友。 :