微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Javascript 日期,超过一年后循环到原始日期?

如何解决Javascript 日期,超过一年后循环到原始日期?

不确定如何准确表达这个问题,但我想基本上“循环”一个日期,当它超过基准日期时

这是什么意思?

假设我的开始日期是 7/7/2021

假设输入日期比 2021 年 7 月 7 日晚一年 [不确定确切是由于闰年 [在其他情况下] 等,但是] 假设是 7 年 9 月 2022 年

由于已经一年多了,我想“循环回”到原始日期,并添加余数[如果有道理],所以在这种情况下结果将是

7/9/2021

基本上,它在考虑了额外的一年后找到余数,如果这有意义

一个例子,假设我的基准日期相同,而我的输入是

7/10/2026 [目前没有闰年]

然后输出应该给

7/10/2021

因为已经过了一年多等等...

显然在这些情况下,我可以简单地减去年份并保留日期,但我不知道如何计算不同月份和不同日期的时间,同时考虑 DLS 和闰年等...

到目前为止,我能够想出这个函数来计算两个具有时区偏移的日期之间的天数差异,基于类似问题的其他答案,但我不知道如何将其应用于上述案例 [显然我可以简单地检查每个人之间的差异次数,例如 365 天,但这不会考虑 nito 闰年......]

var yoymaweemBayn = (w,e) => {
    var d1 = new Date(w)
    var d2 = new Date(e)
    var day2 = (d2 - d1) / 1000 / 60 / 60 / 24
    var ac = day2 - (d2.getTimezoneOffset() - d1.getTimezoneOffset()) / (60 * 24)
    return ac
}

k.onclick = () => {
  ok.innerHTML = yoymaweemBayn(
    d2.value,d3.value
  )
}
B"H
<br>
<input id=d2 value="7/7/2021">
<input id=d3 value="4/6/2023"><br>
<button id="k">Calculate?!</button>
<div id=ok></div>

澄清:

如何从后一个日期减去一定的年数,直到日期“循环回”到基准年内,同时考虑闰年[这样它并不总是相隔 365 天]?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。