Javascript从日期中减去天数
Javascript subtracting days from date
本文关键字:日期 Javascript 更新时间:2023-09-26
我从日期中减去天数的代码不会得到正确的结果。
function get_Ash_Wednesday_date (year, Easter_month, Easter_day) {
var Easter_date = new Date();
Easter_date.setFullYear(year, Easter_month-1, Easter_day);
var Ash_Wednesday = new Date();
Ash_Wednesday.setFullYear(year);
Ash_Wednesday.setDate(Easter_date.getDate()-46);
return Ash_Wednesday;
}
我从复活节那天减去46天。这通常可以追溯到2月份,必须考虑闰年。计算的灰烬星期三日期间隔一到两天,例如2012年的灰烬星期日应为02/22,2013年应为02/13,2014年应为03/05,2015年应为2/18,2016年应为02.10。每个月都是错误的,应该是二月或三月。什么可以解释返回日期和月份的差异?
Year: 2012 Ash Wednesday month 11 Ash Wednesday day 23 Easter Month: 4 Easter Day: 8
Year: 2013 Ash Wednesday month 12 Ash Wednesday day 16 Easter Month: 3 Easter Day: 31
Year: 2014 Ash Wednesday month 12 Ash Wednesday day 5 Easter Month: 4 Easter Day: 20
Year: 2015 Ash Wednesday month 11 Ash Wednesday day 20 Easter Month: 4 Easter Day: 5
Year: 2016 Ash Wednesday month 12 Ash Wednesday day 12 Easter Month: 3 Easter Day: 27
Year: 2017 Ash Wednesday month 12 Ash Wednesday day 1 Easter Month: 4 Easter Day: 16
Year: 2018 Ash Wednesday month 11 Ash Wednesday day 16 Easter Month: 4 Easter Day: 1
Year: 2019 Ash Wednesday month 12 Ash Wednesday day 6 Easter Month: 4 Easter Day: 21
Year: 2020 Ash Wednesday month 11 Ash Wednesday day 27 Easter Month: 4 Easter Day: 12
Year: 2021 Ash Wednesday month 11 Ash Wednesday day 19 Easter Month: 4 Easter Day: 4
Year: 2022 Ash Wednesday month 12 Ash Wednesday day 2 Easter Month: 4 Easter Day: 17
Year: 2023 Ash Wednesday month 11 Ash Wednesday day 24 Easter Month: 4 Easter Day: 9
Year: 2024 Ash Wednesday month 12 Ash Wednesday day 16 Easter Month: 3 Easter Day: 31
Year: 2025 Ash Wednesday month 12 Ash Wednesday day 5 Easter Month: 4 Easter Day: 20
Year: 2026 Ash Wednesday month 11 Ash Wednesday day 20 Easter Month: 4 Easter Day: 5
Year: 2027 Ash Wednesday month 12 Ash Wednesday day 13 Easter Month: 3 Easter Day: 28
Year: 2028 Ash Wednesday month 12 Ash Wednesday day 1 Easter Month: 4 Easter Day: 16
Year: 2029 Ash Wednesday month 11 Ash Wednesday day 16 Easter Month: 4 Easter Day: 1
Year: 2030 Ash Wednesday month 12 Ash Wednesday day 6 Easter Month: 4 Easter Day: 21
Year: 2031 Ash Wednesday month 11 Ash Wednesday day 28 Easter Month: 4 Easter Day: 13
Year: 2032 Ash Wednesday month 12 Ash Wednesday day 13 Easter Month: 3 Easter Day: 28
Year: 2033 Ash Wednesday month 12 Ash Wednesday day 2 Easter Month: 4 Easter Day: 17
Year: 2034 Ash Wednesday month 11 Ash Wednesday day 24 Easter Month: 4 Easter Day: 9
Year: 2035 Ash Wednesday month 12 Ash Wednesday day 10 Easter Month: 3 Easter Day: 25
Year: 2036 Ash Wednesday month 11 Ash Wednesday day 28 Easter Month: 4 Easter Day: 13
Year: 2037 Ash Wednesday month 11 Ash Wednesday day 20 Easter Month: 4 Easter Day: 5
Year: 2038 Ash Wednesday month 12 Ash Wednesday day 10 Easter Month: 4 Easter Day: 25
Year: 2039 Ash Wednesday month 11 Ash Wednesday day 25 Easter Month: 4 Easter Day: 10
Year: 2040 Ash Wednesday month 11 Ash Wednesday day 16 Easter Month: 4 Easter Day: 1
Year: 2041 Ash Wednesday month 12 Ash Wednesday day 6 Easter Month: 4 Easter Day: 21
Year: 2042 Ash Wednesday month 11 Ash Wednesday day 21 Easter Month: 4 Easter Day: 6
在引用中看到一条注释,不要将负值传递给setDate()。
试试这个:
var Ash_Wednesday = new Date (
Easter_date.getFullYear(),
Easter_date.getMonth(),
(Easter_date.getDate()-46)
)
这种在Javascript中通过从特定日期中减去X天来查找日期的解决方案似乎不再适用
相关文章:
- 将日期和时间转换为UTC格式的日期-Javascript
- 将 DD/MMM/YYYY 转换为二进制/纪元日期 JavaScript
- 生成时间戳日期|Javascript范围内的空数据
- 算法导航:如何查找最近的日期(javascript)
- 按日期javascript对JSON数据进行排序
- 可以使用日期 JavaScript 字符串
- 倒计时日期 - Javascript
- 将日期添加到日期以使明天成为当前日期 - Javascript
- 交货日期 Javascript 适应排除周末
- 在文本框中显示当前日期 - JavaScript
- 将json结果转换为正确的日期javascript
- 选择日期-javascript
- 修改时区新日期javascript
- 获取上月日期javascript
- 日期.javascript日期格式
- PHP生成日期->Javascript倒计时
- 如何根据给定的日期JavaScript计算3个月的日期
- 排序数组的日期- javascript
- 为什么日期.UTC(2015, 08, 31) ==日期.javascript中的UTC(2015,09, 01)
- 根据它创建的时区显示日期- JavaScript