【问题标题】:Subtract hours from date and time [duplicate]从日期和时间中减去小时数[重复]
【发布时间】:2020-12-10 22:56:45
【问题描述】:

有人可以帮我解决这个问题吗?我需要为今晚展示的一个学校项目完成一些事情,我必须从这段代码中减去 2 个小时。 Javascript 完全不是我的菜。

<a href="urltopage.php"><span id="datetime"></span></a>

<script>
var dt = new Date();
document.getElementById("datetime").innerHTML = dt.toLocaleString();
</script>

我不知道如何改变这一点。提前致谢。

问候, 贾斯汀

【问题讨论】:

  • 你试过什么?我敢肯定这个网站上有几十个问题有你想要的例子。搜索的第一个结果是:How do I subtract minutes from a date in javascript? 可以修改为小时。
  • 让 dt = new Date(Date.now() - 7200); 7200 = 每分钟 60 秒 * 60 分钟 * 2。

标签: javascript datetime


【解决方案1】:

试试

var dt = new Date();
dt.setHours(dt.getHours() - 2);
document.getElementById("datetime").innerHTML = dt.toLocaleString();

看看这里https://codepen.io/vyspiansky/pen/abNBqrx

【讨论】:

  • 你是我的英雄!太感谢了!只是一个快速的附加问题。如果我想减去 2 小时 7 分钟怎么办?
  • 我猜,dt.setMinutes(dt.getMinutes() - 7); 应该有助于实现这一目标。演示 - codepen.io/vyspiansky/pen/KKzNoPR
  • 我试过了,但我猜我有错字,因为它不起作用。但现在确实如此,愚蠢的我。你真的是我的英雄,让我免于大量搜索。非常感谢!
【解决方案2】:

您可以使用moment.js

moment(dt).subtract(2, 'hours').format();

【讨论】:

  • 感谢您的快速回复。但就像我说的,我对 Javascript 一无所知。那么如何在我当前的脚本中实现它呢?
  • 使用moment 是一个很好的解决方案
  • Moment 是一个很好的处理时间的库,但我认为它对于一次性日期操作确实没有必要。
  • 您可以使用JS文件,您可以通过CDN在页面上引用该文件。 IE。 &lt;script src="https://cdnjs.com/libraries/moment.js"&gt;&lt;/script&gt;
  • Moment 已弃用,请勿用于新项目。
猜你喜欢
  • 2019-05-04
  • 1970-01-01
  • 2023-04-02
  • 2016-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-26
相关资源
最近更新 更多