Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅当不是00:00:00时才使用moment.js显示时间_Javascript_Momentjs - Fatal编程技术网

Javascript 仅当不是00:00:00时才使用moment.js显示时间

Javascript 仅当不是00:00:00时才使用moment.js显示时间,javascript,momentjs,Javascript,Momentjs,如果不是00:00:00,如何仅使用moment.js显示时间?然而,下面的作品似乎有点混乱。谢谢 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

如果不是00:00:00,如何仅使用moment.js显示时间?然而,下面的作品似乎有点混乱。谢谢

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"));

您可以使用下面的函数获取格式

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"));

它比较从一天开始到输入时间的刻度,如果两者相同,则表示时间为零。

您可以使用下面的函数获取格式

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"));

它比较从一天开始到输入时间的滴答声,如果两者相同,则表示时间为零。

您可以用时刻解析日期,然后根据小时/分钟/秒值使用不同的格式

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
}

您可以使用矩解析日期,然后根据小时/分钟/秒值使用不同的格式

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
}

正如函数名所示,它只返回格式。。不是日期:)是,但的
值始终相同。如果我的console.log只是
date.startOf('day')
,那么对象是不同的,但返回的值不是???这同样有效:非常奇怪???谢谢你的帮助
startOf
显然修改了对象。正如函数名所示,它只返回格式。。不是日期:)是,但
值始终相同。如果我的console.log只是
date.startOf('day')
,那么对象是不同的,但返回的值不是???这同样有效:非常奇怪???谢谢你的帮助
startOf
显然会修改对象。