2017-02-15 53 views
0

我从PHP获取2个字符串,然后尝试获取使用javascript之间的差异。这是我的代码:使用javascript获取2个字符串之间的差异

this.now = Thu Feb 14 2017 16:38:42 GMT-0200 (BRST) this.expiration = Wed Feb 15 2017 15:29:45 GMT-0200 (BRST)

,我想这两个日期之间的天差异,显示类似"1" day left

+0

是什么日子格式您正在进入? –

+0

不完全重复 – havenchyk

+0

@havenchyk,谢谢。我从外部API获取日期格式的2个字符串。并且我不知道如何拆分这些字符串,在两者上获得一天并比较结果以显示剩余的日期...... –

回答

1

有几种方法可以做到这一点:

1)它是可以使用的库如[date-fns#differenceInDays]

2)撰写您简单的diff功能

const msInDay = 24 * 3600 * 1000 

function diffInDays(startDateString, endDateString) { 
    const start = new Date(startDateString) 
    const end = new Date(endDateString) 

    const ms = end - start 
    const fullDays = Math.round(ms/msInDay) 

    return fullDays 
} 
+0

它完美地工作,谢谢 –

+0

不推荐使用Date构造函数解析字符串,因为它几乎完全实现依赖。有[*许多好答案*](http://stackoverflow.com/questions/542938/how-do-i-get-the-number-of-days-between-two-dates-in-javascript)到这个问题已经。 – RobG

+0

@Rob很好,很多答案都包含了偶然的时刻,不仅仅是Date构造函数。你能指出*好的答案*吗?我应该用Date.parse更新答案吗? – havenchyk