将get请求中的日期时间与JavaScript中的当前日期时间进行比较

时间:2017-02-10 21:08:06

标签: javascript datetime momentjs

我需要从日期时间(以分钟为单位)获得差异,我现在可以获得字符串格式的请求。

根据我的研究,我可以使用moment.js这样做,但我现在还没弄明白。

这种格式我得到的日期/时间比较如下:

  

2017-02-10T20:52:13.885Z

我已经尝试用moment.js做一些操作,比如

moment().startof(comparedTime).fromNow())

但它什么也没有回报。

有哪些替代方案和最佳方法?

3 个答案:

答案 0 :(得分:1)

你不能只使用vanilla javaScript吗?

var getDate = '2017-02-10T20:52:13.885Z';  //get time from server
var parseDate = new Date(getDate).getTime();  //change string into Date object into milliseconds
var nowDate = Date.now();  //get current Date in milliseconds

var minutes = Math.round((nowDate-parseDate)/1000/60);  //subtract times, count seconds (/1000), count minutes (/60)

console.log(minutes);

答案 1 :(得分:0)

您需要通过传递日期字符串来创建一个时刻对象。例如

myDate = moment(myISOString)

https://momentjs.com/docs/#/parsing/

然后您可以使用文档中描述的时刻对象。

答案 2 :(得分:0)

使用Moment.js,这只是:

moment().diff('2017-02-10T20:52:13.885Z', 'minutes') // 65

如果您想要包含部分分钟,请将true作为第三个参数传递:

moment().diff('2017-02-10T20:52:13.885Z', 'minutes', true) // 65.04565