Comment puis-je calculer hier comme date en JavaScript?
javascript
date
Oméga
la source
la source
getDate
retourne le jour du mois (par exemple: 1 - 31) maissetDate(0)
définit en fait la date au dernier jour du mois précédent. Est-ce que cela fonctionne sur tous les navigateurs?Pas très efficace, mais comme oneliner:
Ce qui précède crée trois
Date
objets qui sont inutilement inutiles. Cela peut être réduit à une seule instanciation avec:Ou, si vous préférez:
Ou, si vous préférez ES6 avec fonction flèche:
la source
var yesterday = (function(d){ d.setDate(d.getDate()-1); return d})(new Date)
Essaye ça
la source
Étonnamment, aucun point de réponse à la solution de navigateur croisé la plus simple
Pour trouver exactement la même heure hier:
C'est si vous voulez aller sans dépendance, sinon je recommanderais d'utiliser http://momentjs.com
la source
Pour généraliser la question et effectuer d'autres calculs de diff, utilisez:
cela crée un nouvel objet de date basé sur la valeur de "maintenant" comme un entier qui représente l'époque unix en millisecondes soustrayant un jour.
Il y a deux jours:
Il y a une heure:
la source
new Date(Date.parse(new Date()) - 86400000)
. Bien que j'aime Date.now (), je vais peut-être essayer à la place. Cela fera gagner une date supplémentaire.J'utilise la bibliothèque moment , elle est très flexible et facile à utiliser.
Dans ton cas:
la source
subtract
au lieu deadd
la source
la source
la source
Cela produira hier à 00h00 avec une précision de minutes
la source
fera l'affaire
la source
d.setHours(-1,0,0,0)
. Cela retournera la date d'hier, mais ce n'est peut-être pas l'heure que vous voulez (23:00:00)Essayez ceci, fonctionne pour moi:
Cela m'a fait récupérer un objet date pour hier
la source
var yesterday = new Date(); yesterday.setDate(today.GetDate() - 1)
afin que vous puissiez utiliser à la fois aujourd'hui et hierVoici une ligne qui est utilisée pour obtenir la date d'hier au format AAAA-MM-JJ dans le texte et gérer le décalage du fuseau horaire.
Il peut évidemment être changé en date de retour, x jours en arrière. Pour inclure le temps, etc.
la source
Si vous souhaitez à la fois obtenir la date d'hier et formater cette date dans un format lisible par l'homme, envisagez de créer un
DateHelper
objet personnalisé qui ressemble à ceci:(voir aussi ce violon )
la source
Vous pouvez utiliser momentjs, il est très utile de réaliser beaucoup de choses avec cette bibliothèque.
Obtenez la date d'hier avec le calendrier actuel
moment().subtract(1, 'days').toString()
Obtenez la date d'hier avec un début de date
moment().subtract(1, 'days').startOf('day').toString()
la source
résoudre le problème de date limite (2020, 01, 01) -> 2019, 12, 31
la source
"Date.now () - 86400000" ne fonctionnera pas le jour de fin de l'heure d'été (qui compte 25 heures ce jour-là)
Une autre option consiste à utiliser la fermeture:
la source