Как я могу удалить время из даты с момента.Джей?


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

он отображает: "28 февраля 2013 09: 24"

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

Я использую момент.js.

10 164

10 ответов:

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

.startOf('day')

Ref:http://momentjs.com/docs/#/manipulating/start-of/

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

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

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

правильный путь был бы определить входной сигнал согласно вашему требованию которое передаст вам больше гибкости.

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

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'

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

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

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

var dateTime = moment();

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

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

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

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

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

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

или

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

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

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

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

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

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

попробуйте это:

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

для таких людей, как я хочу длинный формат даты (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);