formatCalendarDate = function (dateTime) {
return moment.utc(dateTime).format('LLL');
};
Отображается: «28 februari 2013 09:24».
Но я бы хотел убрать время в конце. Как я могу это сделать?
Я использую Moment.js.
formatCalendarDate = function (dateTime) {
return moment.utc(dateTime).format('LLL');
};
Отображается: «28 februari 2013 09:24».
Но я бы хотел убрать время в конце. Как я могу это сделать?
Я использую Moment.js.
Извините, что вмешался так поздно, но если вы хотите удалить временную часть moment()
, а не форматировать, тогда код будет следующим:
.startOf('day')
Ссылка: http://momentjs.com/docs/#/manipulating/start-of/
startOf('day')
, которое было началом предыдущего дня. Исправлено с moment(moment.utc('2013-10-29T00:00:00+00:00').startOf('day').format('LL')).startOf('day').toDate()
- person colllin; 06.11.2013
.startOf('day')
не удаляет часть времени как таковую, а просто устанавливает время на 00:00:00. Итак, да, как прокомментировал collin, вы должны быть осторожны при сохранении даты. Лучшая альтернатива - использовать format('LL')
, как было сказано в этой теме.
- person Sudarshan_SMD; 13.12.2016
someMoment.clone().startOf('day')
или moment(someMoment).startOf('day')
.
- person Pang; 23.05.2017
moment().utc().add(1,'d').startOf('day')
вернет объект к сегодняшнему дню.
- person Tristan; 20.09.2017
moment("2017-10-09T00:00:00Z").isSameOrAfter(moment("2017-10-09 22:00:00+00:00").utc().startOf('day'), 'day');
true moment("2017-10-09T00:00:00Z").isSameOrAfter(moment("2017-10-09 22:00:00+00:00").startOf('day'), 'day');
false
- person RubberDuckRabbit; 12.10.2017
console.log(moment().tz('America/Los_Angeles').startOf('day').format());
выплевывает 2018-03-09T00:00:00-08:00
и console.log(moment().startOf('day').format());
выплевывает 2018-03-10T00:00:00+08:00
- person Jaime Cham; 10.03.2018
startOf('day')
изменяет объект на начало дня, на которое он уже указывал. Возможно, преобразование в utc привело к смещению дня на вчерашний день, а затем добавление 1d вернуло его к сегодняшнему дню.
- person Michael Mrozek; 26.06.2020
В зависимости от того, что вы пытаетесь с этим сделать, 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 (). Format (). Например, для вашего случая вы можете передать moment.utc(dateTime).format('MMMM D, YYYY')
.
Ладно, я знаю, что опаздываю на вечеринку. Примерно на 6 лет позже, но это было то, что мне нужно было выяснить и отформатировать ГГГГ-ММ-ДД.
moment().format(moment.HTML5_FMT.DATE); // 2019-11-08
Вы также можете передать такой параметр, как 2019-11-08T17:44:56.144
.
moment("2019-11-08T17:44:56.144").format(moment.HTML5_FMT.DATE); // 2019-11-08
https://momentjs.com/docs/#/parsing/special-formats/ а>
Вы также можете использовать этот формат:
moment().format('ddd, ll'); // Wed, Jan 4, 2017
В более новых версиях moment.js вы также можете сделать это:
var dateTime = moment();
var dateValue = moment({
year: dateTime.year(),
month: dateTime.month(),
day: dateTime.date()
});
См .: http://momentjs.com/docs/#/parsing/object/.
date: dateTime.date()
вместо day: dateTime.date()
?
- person philfreo; 26.10.2016
day
работает до версии 2.8.4.
- person oldwizard; 17.05.2017
Взгляните на эти примеры.
Форматировать даты
moment().format('MMMM Do YYYY, h:mm:ss a'); // December 7th 2020, 9:58:18 am
moment().format('dddd'); // Monday
moment().format("MMM Do YY"); // Dec 7th 20
moment().format('YYYY [escaped] YYYY'); // 2020 escaped 2020
moment().format(); // 2020-12-07T09:58:18+05:30
Относительное время
moment("20111031", "YYYYMMDD").fromNow(); // 9 years ago
moment("20120620", "YYYYMMDD").fromNow(); // 8 years ago
moment().startOf('day').fromNow(); // 10 hours ago
moment().endOf('day').fromNow(); // in 14 hours
moment().startOf('hour').fromNow(); // an hour ago
Календарное время
moment().subtract(10, 'days').calendar(); // 11/27/2020
moment().subtract(6, 'days').calendar(); // Last Tuesday at 9:58 AM
moment().subtract(3, 'days').calendar(); // Last Friday at 9:58 AM
moment().subtract(1, 'days').calendar(); // Yesterday at 9:58 AM
moment().calendar(); // Today at 9:58 AM
moment().add(1, 'days').calendar(); // Tomorrow at 9:58 AM
moment().add(3, 'days').calendar(); // Thursday at 9:58 AM
moment().add(10, 'days').calendar(); // 12/17/2020
Поддержка нескольких языков
moment.locale(); // en
moment().format('LT'); // 9:58 AM
moment().format('LTS'); // 9:58:18 AM
moment().format('L'); // 12/07/2020
moment().format('l'); // 12/7/2020
moment().format('LL'); // December 7, 2020
moment().format('ll'); // Dec 7, 2020
moment().format('LLL'); // December 7, 2020 9:58 AM
moment().format('lll'); // Dec 7, 2020 9:58 AM
moment().format('LLLL'); // Monday, December 7, 2020 9:58 AM
moment().format('llll'); // Mon, Dec 7, 2020 9:58 AM
Всякий раз, когда я использую библиотеку moment.js
, я указываю желаемый формат следующим образом:
moment(<your Date goes here>).format("DD-MMM-YYYY")
or
moment(<your Date goes here>).format("DD/MMM/YYYY")
... и т. д. Надеюсь, вы уловили идею
Внутри функции форматирования вы помещаете желаемый формат. В приведенном выше примере будут удалены все нежелательные элементы даты, такие как минуты и секунды.
L
, LL
и т. Д.)
- person AJ Richardson; 03.04.2018
Людям вроде меня нужен длинный формат даты (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);
Вы можете использовать этот конструктор
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>
moment({h:0, m:0, s:0, ms:0})
дал бы мне 1 января 1970 года, а не сегодня.
- person Simon_Weaver; 05.02.2020
moment({ h: 0 })
делает то же самое.
- person Simon_Weaver; 05.02.2020
Omitted units default to 0 or the current date, month, and year.
- person Simon_Weaver; 05.02.2020
Попробуй это:
moment.format().split("T")[0]
1993-06-07T22:00:00.000Z
приведет к 1993-06-07
, тогда как это начало дня 1993-06-08
- person Tom; 20.11.2017
Я опаздываю, но у меня это сработало идеально:
момент (). формат ('ГГГГ-ММ-ДД')
moment(date).format(DateFormat)
Здесь DateFormat должен быть DateFormat = 'YYYY-MM-DD'