gpt4 book ai didi

javascript - 获取最近发生的星期日

转载 作者:可可西里 更新时间:2023-11-01 01:30:21 24 4
gpt4 key购买 nike

我需要在日历 View 中显示当前周,从星期日开始。

在 Javascript 中确定“上周日”的最安全方法是什么?

我使用以下代码计算它:

Date.prototype.addDays = function(n) {
return new Date(this.getTime() + (24*60*60*1000)*n);
}

var today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
var lastSunday = today.addDays(0-today.getDay());

此代码假设每一天由二十四小时组成。这是正确的,除非是夏令时交叉日,在这种情况下,这一天可能是二十三或二十五小时。

本周,在澳大利亚悉尼,我们将时钟拨快了一个小时。因此,我的代码将 lastSunday 计算为周六 23:00。

那么确定上周日最安全、最有效的方法是什么?

最佳答案

要安全地恰好添加一天,请使用:

d.setDate(d.getDate() + 1);

这是夏令时安全的。将日期对象设置为最后一个星期日:

function setToLastSunday(d) {
return d.setDate(d.getDate() - d.getDay());
}

或者为上周日返回一个新的 Date 对象:

function getLastSunday(d) {
var t = new Date(d);
t.setDate(t.getDate() - t.getDay());
return t;
}

编辑

原始答案的版本添加时间不正确,确实增加了一天,但不是 OP 想要的。

关于javascript - 获取最近发生的星期日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12791378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com