如果不是00:00:00,我如何使用moment.js显示时间?然而,以下作品似乎有点像kludge。感谢
function convertDate(d) {
var l=d.length;
var f='DD/MM/YYYY'+((l==19 && d.substr(l - 8)=='00:00:00' )?'':', h:mm:ss a');
return moment(d).format(f);
}
console.log(convertDate("2014-11-02 02:04:05"));
console.log(convertDate("2014-11-02 00:00:00"));
答案 0 :(得分:3)
您可以使用以下功能获取格式
var getDate = function(d)
{
var format = "DD/MM/YYYY h:mm:ss a";
if(moment(d).startOf('day').valueOf() === moment(d).valueOf())
{
format = "DD/MM/YYYY"
}
return moment(d).format(format);
}
console.log(getDate("2014-11-02 02:04:05"));
console.log(getDate("2014-11-02 00:00:00"));
它比较从一天开始到输入时间的刻度,如果两者相同,则表示时间为零。
答案 1 :(得分:3)
您可以随时解析日期,然后根据小时/分钟/秒值使用不同的格式。
var date = moment(d);
var result;
if (date.hours() == 0 && date.minutes() == 0 && date.seconds() == 0) {
// format without hours/minutes/seconds
result = date.format('DD/MM/YYYY');
}
else {
// complete format
result = date.format('DD/MM/YYYY, h:mm:ss a'); // or whatever it is
}