Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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 将前导零添加到矩.js时间_Javascript_Node.js_Time_Momentjs - Fatal编程技术网

Javascript 将前导零添加到矩.js时间

Javascript 将前导零添加到矩.js时间,javascript,node.js,time,momentjs,Javascript,Node.js,Time,Momentjs,我目前正在使用moment.js处理node.js应用程序中的时间显示-是否有一种方法可以始终将日期格式化为前导零,并且至少两个字符宽 9天1小时12分23秒 09:01:12:23 还是一分钟 00:00:01:00 谢谢任何能帮忙的人 我正在计算数据库中两件事情之间的时间,然后以秒为单位将其发送到momente.js duration.html(difference.add(1,“seconds”).format(“d:hh:mm:ss”) 基本上,我希望强制执行,即使天是0,也会显示

我目前正在使用moment.js处理node.js应用程序中的时间显示-是否有一种方法可以始终将日期格式化为前导零,并且至少两个字符宽

9天1小时12分23秒

09:01:12:23
还是一分钟

00:00:01:00
谢谢任何能帮忙的人


我正在计算数据库中两件事情之间的时间,然后以秒为单位将其发送到momente.js

duration.html(difference.add(1,“seconds”).format(“d:hh:mm:ss”)

基本上,我希望强制执行,即使天是0,也会显示它们,并将前导零与一位数一起显示。

试试看
时刻(你的日期,“你的日期格式”).format(“DD:HH:mm:ss”)

使用以下命令:

function addZeros(d,h,m,s){
  return  ("0"+d).substr(-2) + ":" +("0"+h).substr(-2) + ":"+("0"+m).substr(-2) + ":" +("0"+s).substr(-2);
}
您可以使用插件:

使用该选项可显示没有值的单位。正如文件所说:

前导标记没有值时会自动修剪。要停止该行为,请设置
{trim:false}

下面是一个工作示例:

var d1=力矩持续时间({
秒:23,
会议记录:12,
时间:1,,
天数:9
});
var d2=力矩。持续时间({
会议记录:1
});
console.log(d1.format('DD:HH:mm:ss');
log(d2.format('DD:HH:mm:ss',{trim:false}))


这不起作用,因为查看问题时,OP希望持续时间不显示日期OHH。。我很困惑。你是说,9不是天,不是日期?对吗?问题被更新了,是吗?这不是一个日期,只是一天。这是为了什么?请注意,时刻持续时间格式不同于momentjs,这就是为什么trim不会出现在momentjs网站上的任何地方。感谢VincenzoC提供的{trim:false}@mcmacerson我知道这是一个momentjs插件,我已经编辑了我的答案以使其更清晰。作为旁注,还有一个开放的[问题](在moment core中规划持续时间格式集成)。我很高兴我的回答对您有所帮助:)