javascript du - Comment puis-je obtenir la date actuelle en JavaScript?




15 Answers

Utilisez new Date() pour générer un nouvel objet Date contenant la date et l'heure actuelles.

var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();

if(dd<10) {
    dd = '0'+dd
} 

if(mm<10) {
    mm = '0'+mm
} 

today = mm + '/' + dd + '/' + yyyy;
document.write(today);

Cela vous donnera la date d'aujourd'hui dans le format de mm / jj / aaaa.

Changez simplement today = mm +'/'+ dd +'/'+ yyyy; à n'importe quel format que vous souhaitez.

jour format

Comment obtenir la date actuelle en JavaScript?




ACTUALISÉ! , Défiler vers le bas

Si vous voulez quelque chose de joli simple à l'utilisateur final ... Also, fixed a small suffix issue in the first version below. Now properly returns suffix. Also, fixed a small suffix issue in the first version below. Now properly returns suffix.

var objToday = new Date(),
	weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
	dayOfWeek = weekday[objToday.getDay()],
	domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
	dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
	months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
	curMonth = months[objToday.getMonth()],
	curYear = objToday.getFullYear(),
	curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
	curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
	curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
	curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;

document.getElementsByTagName('h1')[0].textContent = today;
<h1></h1>

UBBER UPDATE Après beaucoup de tergiversations, j'ai finalement GitHubbed et mis à jour ceci avec la solution finale que j'ai utilisée pour moi-même. Il a même eu quelques modifications de dernière minute pour le rendre plus doux! Si vous cherchez le vieux jsFiddle, veuillez le voir .

Cette mise à jour vient en 2 saveurs, encore relativement petit, mais pas aussi petit que mon ci-dessus, réponse originale. Si vous voulez extrêmement petit, allez-y.
Remarque: Ceci est encore moins gonflé que le moment.js. Alors que moment.js est sympa, imo, il a beaucoup de méthodes laïques, qui demandent un moment d'apprentissage comme s'il s'agissait d'une langue. Le mien utilise ici le même format commun que PHP:date .

Liens rapides

Saveur 1 new Date().format(String) My Personal Fav. Je connais le tabou, mais fonctionne très bien sur l'objet Date. Juste être au courant de tous les autres mods que vous pourriez avoir à l'objet Date.

//  use as simple as
new Date().format('m-d-Y h:i:s');   //  07-06-2016 06:38:34

Flavour 2 dateFormat(Date, String) Méthode tout-en-un plus traditionnelle. A toute la capacité de la précédente, mais est appelée via la méthode avec Date param.

//  use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s');  //  07-06-2016 06:38:34

BONUS Flavour (nécessite jQuery) $.date(Date, String) Cela contient beaucoup plus qu'une simple option de format . Il étend l'objet Date de base et inclut des méthodes telles que addDays . Pour plus d'informations, s'il vous plaît voir le Git .

Dans ce mod, les caractères de format sont inspirés par PHP:date . Pour une liste complète, s'il vous plaît voir mon README

Ce mod a aussi une liste beaucoup plus longue de formats pré-faits. Pour utiliser un format prédéfini, entrez simplement son nom de clé. dateFormat(new Date(), 'pretty-a');

  • 'composé'
    • 'commonLogFormat' == 'd / M / Y: G: i: s'
    • 'exif' == 'Y: m: d G: i: s'
    • 'isoYearWeek' == 'Y \\ WW'
    • 'isoYearWeek2' == 'Y - \\ WW'
    • 'isoYearWeekDay' == 'Y \\ WWj'
    • 'isoYearWeekDay2' == 'Y - \\ WW-j'
    • 'mySQL' == 'Ymd h: i: s'
    • 'postgreSQL' == 'Y.z'
    • 'postgreSQL2' == 'Yz'
    • 'soap' == 'Ymd \\ TH: i: s.u'
    • 'soap2' == 'Ymd \\ TH: i: s.uP'
    • 'unixTimestamp' == '@U'
    • 'xmlrpc' == 'Ymd \\ TG: i: s'
    • 'xmlrpcCompact' == 'Ymd \\ tGis'
    • 'wddx' == 'Ynj \\ TG: i: s'
  • 'constantes'
    • 'AMÉRICAIN' == 'F j Y'
    • 'AMERICANSHORT' == 'm / j /'
    • 'AMERICANSHORTWTIME' == 'm / j / j h: i: sA'
    • 'ATOM' == 'Ymd \\ TH: i: sP'
    • 'COOKIE' == 'l dMY H: i: s T'
    • 'EUROPEEN' == 'j F Y'
    • 'EUROPEANSHORT' == 'dmY'
    • 'EUROPEANSHORTWTIME' == 'dmY H: i: s'
    • 'ISO8601' == 'Ymd \\ TH: i: sO'
    • 'LEGAL' == 'j F Y'
    • 'RFC822' == 'D d M y H: i: s O'
    • 'RFC850' == 'l dMy H: i: s T'
    • 'RFC1036' == 'D d M y H: i: s O'
    • 'RFC1123' == 'D d MYH: i: s O'
    • 'RFC2822' == 'D d MYH: i: s O'
    • 'RFC3339' == 'Ymd \\ TH: i: sP'
    • 'RSS' == 'D d MYH: i: s O'
    • 'W3C' == 'Ymd \\ TH: i: sP'
  • 'joli'
    • 'joli-a' == 'g: i.sA l jS \\ o \\ f F Y'
    • 'joli-b' == 'g: iA l jS \\ o \\ f F Y'
    • 'pretty-c' == 'n / d / Y g: iA'
    • 'pretty-d' == 'n / d / Y'
    • 'pretty-e' == 'F jS - g: ia'
    • 'joli-f' == 'g: iA'

Comme vous pouvez le remarquer, vous pouvez utiliser double \ pour échapper un personnage.




Essaye ça:

var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")

Le résultat sera comme

15/2/2012



Le plus court possible:

let today = new Date().toISOString().slice(0, 10)

Il renvoie "2016-03-10"




var d = (new Date()).toString().split(' ').splice(1,3).join(' ');

document.write(d)

Pour le décomposer en étapes:

  1. (new Date()).toString() donne "Ven Jun 28 2013 15:30:18 GMT-0700 (PDT)"

  2. (new Date()).toString().split(' ') divise la chaîne ci-dessus sur chaque espace et retourne un tableau comme suit: ["Fri", "Jun", "28", "2013", "15: 31:14 "," GMT-0700 "," (PDT) "]

  3. (new Date()).toString().split(' ').splice(1,3).join(' ') prend les deuxième, troisième et quatrième valeurs du tableau ci-dessus, les joint avec des espaces et retourne un chaîne "Jun 28 2013"




Cela fonctionne à chaque fois:

    var now = new Date();
    var day = ("0" + now.getDate()).slice(-2);
    var month = ("0" + (now.getMonth() + 1)).slice(-2);
    var today = now.getFullYear() + "-" + (month) + "-" + (day);
    
    document.write(today);




Plus propre, version plus simple:

new Date().toLocaleString();

Le résultat varie en fonction des paramètres régionaux de l'utilisateur:

27/02/2017, 09:15:41




La réponse de Varun ne tient pas compte de TimezoneOffset . Voici une version qui fait:

var d = new Date()
new Date(d.getTime() - d.getTimezoneOffset() * 60000).toJSON().slice(0, 10) // 2015-08-11

Le TimezoneOffset est des minutes, tandis que le constructeur Date prend des millisecondes, donc la multiplication par 60000 .




new Date().toDateString();

Résultat:

"Mer. Févr. 03 2016"




Si vous êtes satisfait du format AAAA-MM-JJ, cela fera également l'affaire.

new Date().toISOString().split('T')[0]

2018-03-10




Si vous utilisez jQuery. Essayez ce liner:

$.datepicker.formatDate('dd/mm/yy', new Date());

Voici la convention pour le formatage de la date

  • d - jour du mois (aucun zéro principal)
  • jj - jour du mois (deux chiffres)
  • o - jour de l'année (pas de zéros en tête)
  • oo - jour de l'année (trois chiffres)
  • D - nom de jour court
  • DD - nom du jour long
  • m - mois de l'année (pas de zéro)
  • mm - mois de l'année (deux chiffres)
  • M - nom du mois court
  • MM - nom du mois long
  • y - année (deux chiffres)
  • yy - année (quatre chiffres)

Voici la référence pour jQuery datepicker




Quel est le gros problème avec cela .. La façon la plus propre de le faire est

var currentDate=new Date().toLocaleString().slice(0,10);




La réponse la plus courte est: new Date().toJSON().slice(0,10)




var dateTimeToday = new Date();
var dateToday = new Date(
    dateTimeToday.getFullYear(), 
    (dateTimeToday.getMonth() + 1) /*Jan = 0! */, 
    dateTimeToday.getDate(), 
    0, 
    0, 
    0, 
    0);



Cela peut vous aider

var date = new Date();
console.log(date.getDate()+'/'+(date.getMonth()+1)+'/'+date.getFullYear());

Cela imprimera la date actuelle au format jj / mm / aaaa




Related

javascript date datetime time