Как удалить время с даты с помощью Moment.js?

formatCalendarDate = function (dateTime) {
    return moment.utc(dateTime).format('LLL');
};

Он отображает: "28 februari 2013 09:24"

Но я хотел бы удалить время в конце. Как я могу это сделать?

Я использую Moment.js.

Ответ 1

Извините, что так поздно, но если вы хотите удалить временную часть moment() а не форматировать ее, тогда код:

.startOf('day')

Ссылка: http://momentjs.com/docs/#/manipulation/start-of/

Ответ 2

Использовать format('LL')

В зависимости от того, что вы пытаетесь с этим сделать, format('LL') может помочь. Это производит что-то вроде этого:

Moment().format('LL'); // => April 29, 2016

Ответ 3

Правильный способ - указать ввод в соответствии с вашим требованием, что даст вам большую гибкость.

Настоящее определение включает следующее

LTS : 'h:mm:ss A', LT : 'h:mm A', L : 'MM/DD/YYYY', LL : 'MMMM D, YYYY', LLL : 'MMMM D, YYYY h:mm A', LLLL : 'dddd, MMMM D, YYYY h:mm A'

Вы можете использовать любой из них или изменить ввод, переданный в момент(). format(). Например, для вашего случая вы можете пройти moment.utc(dateTime).format('MMMM D, YYYY').

Ответ 4

formatCalendarDate = function (dateTime) {
    return moment.utc(dateTime).format('LL')
}

Ответ 5

С более новыми версиями moment.js вы также можете сделать это:

var dateTime = moment();

var dateValue = moment({
    year: dateTime.year(),
    month: dateTime.month(),
    day: dateTime.date()
});

Смотрите: http://momentjs.com/docs/#/parsing/object/.

Ответ 6

Вы также можете использовать этот формат:

moment().format('ddd, ll'); // Wed, Jan 4, 2017

Ответ 7

Вы можете использовать этот конструктор

moment({h:0, m:0, s:0, ms:0})

http://momentjs.com/docs/#/parsing/object/

console.log( moment().format('YYYY-MM-DD HH:mm:ss') )

console.log( moment({h:0, m:0, s:0, ms:0}).format('YYYY-MM-DD HH:mm:ss') )
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

Ответ 8

Попробуйте следующее:

moment.format().split("T")[0]

Ответ 9

Всякий раз, когда я использую библиотеку moment.js, я указываю желаемый формат следующим образом:

moment(<your Date goes here>).format("DD-MMM-YYYY")

или

moment(<your Date goes here>).format("DD/MMM/YYYY")

... и т.д. Надеюсь, вы поняли идею

Внутри функции формата вы помещаете нужный формат. Приведенный выше пример избавит вас от всех нежелательных элементов с даты, такой как минуты и секунды

Ответ 10

Для таких, как я, нужен формат длинной даты (LLLL), но без времени суток, для этого есть проблема с GitHub: https://github.com/moment/moment/issues/2505. На данный момент есть обходной путь:

var localeData = moment.localeData( moment.locale() ),
    llll = localeData.longDateFormat( 'llll' ),
    lll = localeData.longDateFormat( 'lll' ),
    ll = localeData.longDateFormat( 'll' ),
    longDateFormat = llll.replace( lll.replace( ll, '' ), '' );
var formattedDate = myMoment.format(longDateFormat);