Rol*_*and 127 javascript date
我试图在几秒钟内得到两个日期之间的差异.逻辑是这样的:
我之所以这么做是因为最后的日期/时间取决于其他一些变量而且它永远不会相同(这取决于用户做某事的速度),而且我还存储了其他事情的初始日期.
我一直在尝试这样的事情:
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));
Run Code Online (Sandbox Code Playgroud)
问题是我从来没有得到正确的区别.我试着分开,24 * 60
这将留给我秒,但我从来没有做对.那么我的逻辑有什么不对?我可能会犯一些愚蠢的错误,因为它已经很晚了,但令我烦恼的是我无法让它工作:)
Jua*_*tés 245
var startDate = new Date();
// Do your operations
var endDate = new Date();
var seconds = (endDate.getTime() - startDate.getTime()) / 1000;
Run Code Online (Sandbox Code Playgroud)
或者甚至比(endDate - startDate) / 1000
评论中指出的更简单,除非你使用的是打字稿.
您需要getTime()
为Date
对象调用方法,然后简单地减去它们并除以1000(因为它最初是以毫秒为单位).作为额外的,当你调用getDate()
方法时,你实际上是将月份的日期作为1到31之间的整数(不是基于零),而不是从调用getTime()
方法获得的纪元时间,表示自1970年1月1日00:00以来的毫秒数
根据您的日期相关操作,您可能希望投资集成诸如date.js或moment.js之类的库,这使得开发人员更容易,但这只是个人偏好的问题.
例如在moment.js中我们会做的moment1.diff(moment2, "seconds")
很漂亮.
下面的代码将以秒为单位给出时差。
进口基金会
var date1 = new Date(); // current date
var date2 = new Date("06/26/2018"); // mm/dd/yyyy format
var timeDiff = Math.abs(date2.getTime() - date1.getTime()); // in miliseconds
var timeDiffInSecond = Math.ceil(timeDiff / 1000); // in second
alert(timeDiffInSecond );
Run Code Online (Sandbox Code Playgroud)
小智 7
您可以new Date().getTime()
用于获取时间戳。然后您可以计算结束和开始之间的差异,最后将时间戳转换ms
为s
.
const start = new Date().getTime();
const end = new Date().getTime();
const diff = end - start;
const seconds = Math.floor(diff / 1000 % 60);
Run Code Online (Sandbox Code Playgroud)
准确而快速将在几秒钟内给出输出:
let startDate = new Date()
let endDate = new Date("yyyy-MM-dd'T'HH:mm:ssZ");
let seconds = Math.round((endDate.getTime() - startDate.getTime()) / 1000);
Run Code Online (Sandbox Code Playgroud)
小智 6
<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>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
191317 次 |
最近记录: |