J'ai une boîte de saisie de calendrier de début et une boîte de saisie de calendrier de fin. Nous voulons que la zone de saisie du calendrier de début par défaut soit 30 jours avant la date actuelle et la zone de saisie du calendrier de fin soit la date actuelle. Voici mes vars de date.
var today = new Date(),
dd = today.getDate(),
mm = today.getMonth(),
yyyy = today.getFullYear(),
month = ["January", "February", "March",
"April", "May", "June", "July", "August",
"September", "October" "November", "December"],
startdate = month[mm] + ", " + yyyy.toString();
La date de fin serait quelque chose comme var enddate = startdate - 30;
évidemment cela ne fonctionnera pas.
Donc, si la date actuelle est le 30 décembre 2011, je voudrais que la date de début soit le 1er décembre 2011.
EDIT: Ma question a été répondue ... en quelque sorte. Date.today();
et Date.today().add(-30);
travailler mais j'ai besoin de la date au format January 13, 2012
. Non Fri Jan 13 2012 10:48:56 GMT -055 (EST)
. De l'aide?
PLUS EDIT: Au moment d'écrire ces lignes, nous sommes en 2018. Utilisez simplement Moment.js . C'est le meilleur.
la source
Réponses:
Essayez d'utiliser l'excellente bibliothèque de dates JavaScript Datejs (l'original n'est plus maintenu, vous pourriez donc être intéressé par cette fourchette activement maintenue à la place):
[Éditer]
Voir aussi l'excellente bibliothèque de dates JavaScript Moment.js :
la source
moment( moment().subtract(30, 'days') ).format("YYYY-MM-DD")
moment()
approche et ajouté latoDate()
méthode pour récupérer l'objet de date JavaScript. Merci!Essaye ça
Comme indiqué par @Neel, cette méthode retourne au format Javascript Timestamp. Pour le reconvertir en objet date, vous devez transmettre ce qui précède à un nouvel objet Date;
new Date(priorDate)
.la source
new Date(priorDate)
setDate()
sur unDate
objet. Cependant, il est impossible de diagnostiquer sans voir votre code.Voici une solution moche pour vous:
la source
La
.getTime()
méthode renvoie un horodatage JS standard (en millisecondes depuis le 1er janvier 1970) sur lequel vous pouvez utiliser des opérations mathématiques régulières, qui peuvent être renvoyées directement à l'objet Date.la source
Obtenez les 30 prochains jours à partir d'aujourd'hui
Obtenez le formulaire des 30 derniers jours aujourd'hui
la source
Javascript peut le gérer sans aucune bibliothèque externe.
la source
Facile.
(Using Vanilla JS)
ISOFormat?
la source
J'utilise date.js . Il gère cela facilement et s'occupe de toute la méchanceté des années bissextiles.
la source
Je préférerai le moment js
la source
Ceci est une version ES6
la source
Vous pouvez le faire simplement via 1 ligne de code en utilisant moment dans Node JS. :)
Je ne veux pas de format UTC, PLUS FACILE: P
la source
Si vous n'êtes pas enclin à momentjs, vous pouvez utiliser ceci:
let x = new Date()
x.toISOString(x.setDate(x.getDate())).slice(0, 10)
Fondamentalement, il obtient la date actuelle (valeur numérique de la date du mois en cours), puis définit la valeur. Ensuite, il se convertit au format ISO à partir duquel je découpe la date numérique pure (c'est-à-dire 23/09/2019)
J'espère que ça aide quelqu'un.
la source
let today = new Date()
let last30Days = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 30)
last30Days
sera dans l'objet Datela source