web-dev-qa-db-fra.com

Comment afficher un objet Date dans un format spécifique en utilisant JavaScript?

J'ai un objet Date et j'aimerais l'afficher dans le format ci-dessous:

var myDate = getDate();
// this format: "13 Jan 2012 11:00am";

Comment serait-ce possible?

Merci,

8
The Light

Il existe une excellente bibliothèque JavaScript qui gère très bien cela, et seulement 5,5 Ko minifiés.

http://momentjs.com/

Cela ressemble à quelque chose comme ça:

moment().format('MMMM Do YYYY, h:mm:ss a'); // February 25th 2013, 9:54:04 am
moment().subtract('days', 6).calendar(); // "last Tuesday at 9:53 AM"

Vous pouvez également transmettre des dates sous la forme String avec un format ou un objet Date.

var date = new Date();
moment(date); // same as calling moment() with no args

// Passing in a string date
moment("12-25-1995", "MM-DD-YYYY");

A également un grand soutien pour les langues autres que l'anglais, comme le russe, le japonais, l'arabe, l'espagnol, etc.

Découvrez les docs .

10
knownasilya

Si vous ne souhaitez utiliser aucune bibliothèque:

<script type="text/javascript">

  var myDate = new Date();

  var month=new Array();
  month[0]="Jan";
  month[1]="Feb";
  month[2]="Mar";
  month[3]="Apr";
  month[4]="May";
  month[5]="Jun";
  month[6]="Jul";
  month[7]="Aug";
  month[8]="Sep";
  month[9]="Oct";
  month[10]="Nov";
  month[11]="Dec";
  var hours = myDate.getHours();
  var minutes = myDate.getMinutes();
  var ampm = hours >= 12 ? 'pm' : 'am';
  hours = hours % 12;
  hours = hours ? hours : 12;
  minutes = minutes < 10 ? '0'+minutes : minutes;
  var strTime = hours + ':' + minutes + ampm;
  // e.g. "13 Nov 2016 11:00pm";
  alert(myDate.getDate()+" "+month[myDate.getMonth()]+" "+myDate.getFullYear()+" "+strTime);
</script>
7
George

Il existe de nombreux packages de formatage de date disponibles pour javascript. J'ai eu un grand succès avec dateformat de Steven Levithan .

dateFormat(getDate(), "dd mmm yyyy hh:MMtt");

Edit: Il ajoute également une méthode format à Date.prototype, si vous aimez ce style:

getDate().format("dd mmm yyyy hh:MMtt");

Consultez l'objet Date(): https://developer.mozilla.org/fr/JavaScript/Reference/Global_Objects/Date

Il y a beaucoup de méthodes utiles ....

2
ManseUK

Je pense que cela peut vous être utile:

http://www.mattkruse.com/javascript/date/

Il existe une fonction getDateFromFormat () que vous pouvez modifier un peu pour résoudre votre problème.

0
Nirmal