2017-02-15 2 views
0

Je reçois 2 chaînes de php et j'essaie d'obtenir la différence entre puis en utilisant javascript. voici mon code:Obtenez le jour de différence entre 2 chaînes en utilisant javascript

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

et je veux que les jours de différence entre ces deux dates, pour montrer quelque chose comme "1" day left.

+0

Quelle est la date Format Vous Entrons-nous? –

+0

pas exactement la duplication – havenchyk

+0

@havenchyk, merci. Im obtenir 2 chaînes en format de date à partir d'une API externe. et je ne sais pas comment diviser ces chaînes, obtenir le jour sur les deux et comparer le résultat pour montrer les jours restants ... –

Répondre

1

Il y a plusieurs façons de le faire:

1) Il est possible d'utiliser la bibliothèque comme [date-fns#differenceInDays]

2) Écrivez votre simple fonction 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

Cela fonctionne parfaitement, merci –

+0

L'analyse des chaînes avec le constructeur Date n'est pas recommandée car elle est presque entièrement mise en œuvre dépendant. Il y a [* beaucoup de bonnes réponses *] (http://stackoverflow.com/questions/542938/how-do-i-get-the-number-of-days-between-two-dates-in-javascript) à cette question déjà. – RobG

+0

@Rob bien, beaucoup de réponses contient même moment, pas seulement le constructeur Date. Pourriez-vous s'il vous plaît pointer vers * bonne réponse *? Dois-je mettre à jour la réponse avec Date.parse? – havenchyk