Как отобразить объект Date в определенном формате, используя JavaScript? - PullRequest
8 голосов
/ 02 марта 2012

У меня есть объект Date, и я хотел бы отобразить его в следующем формате:

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

Как это возможно?

Спасибо

Ответы [ 5 ]

10 голосов
/ 25 февраля 2013

Существует отличная библиотека JavaScript, которая отлично справляется с этим, и сокращена только до 5,5 КБ.

http://momentjs.com/

Это выглядит примерно так:

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"

Вы также можете передавать даты как String с форматом или 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");

Также имеется отличная поддержка языков, отличных от английского, таких как русский, японский, арабский, испанский и др.

Ознакомьтесь с документами .

7 голосов
/ 30 августа 2013

Если вы не хотите использовать какие-либо библиотеки:

<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>
4 голосов
/ 02 марта 2012

Существует много пакетов форматирования даты, доступных для javascript, я добился большого успеха с форматом даты Стивена Левитана .

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

Редактировать: Он также добавляетformat метод до Date.prototype, если вам нравится этот стиль:

getDate().format("dd mmm yyyy hh:MMtt");
2 голосов
/ 02 марта 2012

Взгляните на объект Date(): https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

Есть много полезных методов ....

0 голосов
/ 02 марта 2012

Я думаю, что это может быть полезно для вас:

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

Существует функция getDateFromFormat (), которую вы можете немного настроить для решения вашей проблемы.

...