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

它显示:“2013年2月28日09:24”

但是我想把最后的时间去掉。我该怎么做呢?

我用的是Moment.js。


当前回答

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

其他回答

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

抱歉这么晚才插话,但如果你想删除moment()的时间部分,而不是格式化它,那么代码是:

.startOf('day')

裁判:http://momentjs.com/docs/ /操作/开始/

问题是——你可能会遇到时区的问题。例如,如果你这样解析日期:'2022-02-26T00:36:21+01:00',它可能会变成'25/02/2022'。如果你的日期是ISO格式的,你可以从字符串中截断时间部分,就像这样:

moment('2022-02-26T00:36:21+01:00'.split('T')[0]).utc().format('DD/MM/YYYY')

这个解决方案相当生硬,所以要小心字符串格式。

在更新版本的moment.js中,你也可以这样做:

var dateTime = moment();

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

见:http://momentjs.com/docs/ /解析/对象/。

正确的方法是根据您的需求指定输入,这将为您提供更大的灵活性。

目前的定义包括以下内容

LTS: 'h:mm:ss A', LT: 'h:mm A', L: ' mm / dd / yyyy ', 今天李华学了两个常用语:mm d, yyyy。 ll: ' mm D, YYYY h:mm A', ll: 'dddd, mm D, YYYY h:mm A'

您可以使用其中任何一个,也可以更改传递给moment().format()的输入。 例如,对于您的情况,您可以传递moment.utc(dateTime)。format('MMMM D, YYYY')。