Як знайти день, місяць і рік за допомогою moment.js


79

2014-07-28

Як знайти month, yearі dayз moment.jsурахуванням формату дати вище?

var check = moment(n.entry.date_entered).format("YYYY/MM/DD");
var month = check.getUTCMonth();
var day = check.entry.date_entered.getUTCDate();
var year = check.entry.date_entered.getUTCFullYear();

Відповіді:


120

Просто спробуйте:

var check = moment(n.entry.date_entered, 'YYYY/MM/DD');

var month = check.format('M');
var day   = check.format('D');
var year  = check.format('YYYY');

JSFiddle


2
зауважте, що значення для всіх них - це рядок, а не число, як хтось, кого ви можете очікувати
TroodoN-Mike

Цей мінус полягає в тому, що він перетворює значення в рядки.
Андріс,

116

Я знаю, що на це вже відповіли, але я натрапив на це питання і пішов шляхом використання format, яке працює, але воно повертає їх як рядки, коли я хотів цілі числа.

Я щойно зрозумів, що настає момент date, monthі yearметоди, які повертають фактичні цілі числа для кожного методу.

moment().date()
moment().month()  // jan=0, dec=11
moment().year()

9
це не .day (), а .date (), щоб отримати поточний день місяця.
luiscvalmeida

42
month()дорівнює нулю, тоді date()як ні. Для багатьох додатків, які вам потрібніmoment().month() + 1
2Toad

21

Якщо ви шукаєте відповідь у рядкових значеннях, спробуйте це

var check = moment('date/utc format');
day = check.format('dddd') // => ('Monday' , 'Tuesday' ----)
month = check.format('MMMM') // => ('January','February.....)
year = check.format('YYYY') // => ('2012','2013' ...)  

11

Я отримую day, monthі yearвикористовуючи спеціальні функції момент (). Дату () , момент (). Місяць () і момент (). Рік () з momentjs.

let day = moment('2014-07-28', 'YYYY/MM/DD').date();
let month = 1 + moment('2014-07-28', 'YYYY/MM/DD').month();
let year = moment('2014-07-28', 'YYYY/MM/DD').year();

console.log(day);
console.log(month);
console.log(year);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>

Я не знаю, чому є 48 голосів за відповідь @Chris Schmitz, що не є 100% правильним.

Місяць у формі масиву і починається з 0, тому для отримання точного значення нам слід скористатися 1 + moment().month()


1

Ось приклад, який ви можете використати:

 var myDateVariable= moment("01/01/2019").format("dddd Do MMMM YYYY")
  • dddd: Ім'я повного дня

  • Зробіть: день місяця

  • MMMM: Повна назва місяця

  • РРРР: 4 цифри Рік

Для отримання додаткової інформації:

https://flaviocopes.com/momentjs/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.