首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取两个日期之间的时间差,单位为秒

获取两个日期之间的时间差,单位为秒
EN

Stack Overflow用户
提问于 2012-12-16 01:48:07
回答 8查看 306.2K关注 0票数 198

我在试着在几秒钟内得到两个日期之间的差异。逻辑是这样的:

  • 设置的初始日期是现在;
  • 设置的最终日期是初始日期加上将来的一些秒数(例如15 )
  • 获取这两个日期之间的差值(秒数)

我之所以这样做,是因为最终的日期/时间取决于其他一些变量,它永远不会相同(这取决于用户做某事的速度),而且我还会为其他事情存储初始日期。

我一直在尝试这样的东西:

代码语言:javascript
复制
var _initial = new Date(),
    _initial = _initial.setDate(_initial.getDate()),
    _final = new Date(_initial);
    _final = _final.setDate(_final.getDate() + 15 / 1000 * 60);

var dif = Math.round((_final - _initial) / (1000 * 60));

问题是我从来没有得到正确的区别。我试着除以24 * 60,这会给我留下秒,但我从来没有得到正确的结果。那么我的逻辑有什么问题呢?我可能犯了一些愚蠢的错误,因为已经很晚了,但它困扰着我,因为我不能让它工作:)

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-12-16 01:51:56

《守则》

代码语言:javascript
复制
var startDate = new Date();
// Do your operations
var endDate   = new Date();
var seconds = (endDate.getTime() - startDate.getTime()) / 1000;

或者更简单的(endDate - startDate) / 1000,就像评论中指出的那样,除非你正在使用typescript。

解释

您需要为Date对象调用getTime()方法,然后简单地减去它们并除以1000 (因为它最初是以毫秒为单位)。另外,当您调用getDate()方法时,实际上获取的是一个介于1和31之间的整数(不是从零开始),而不是调用getTime()方法获得的纪元时间,表示自1970年1月1日00:00以来的毫秒数

范围

根据与日期相关的操作是什么,您可能希望投资于集成库,如date.jsmoment.js,这将使开发人员的工作变得更容易,但这只是个人偏好的问题。

例如,在moment.js中,我们会使用moment1.diff(moment2, "seconds"),这很漂亮。

此答案的有用文档

票数 391
EN

Stack Overflow用户

发布于 2017-09-19 23:28:20

您可以使用new Date().getTime()来获取时间戳。然后,您可以计算结束和开始之间的差异,并最终将时间戳ms转换为s

代码语言:javascript
复制
const start = new Date().getTime();
const end = new Date().getTime();

const diff = end - start;
const seconds = Math.floor(diff / 1000 % 60);
票数 9
EN

Stack Overflow用户

发布于 2015-07-22 19:46:49

代码语言:javascript
复制
<script type="text/javascript">
var _initial = '2015-05-21T10:17:28.593Z';
var fromTime = new Date(_initial);
var toTime = new Date();

var differenceTravel = toTime.getTime() - fromTime.getTime();
var seconds = Math.floor((differenceTravel) / (1000));
document.write('+ seconds +');
</script>
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13894632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档