Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/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 AngularJS:如何用格式打印持续时间?_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS:如何用格式打印持续时间?

Javascript AngularJS:如何用格式打印持续时间?,javascript,angularjs,Javascript,Angularjs,我使用以下代码打印时间持续时间: {{(endTime - startTime) * 1000 | date: 'H:mm:ss'}} 但是我得到了GMT+8的时间 AngularJS有办法打印出不可转换的duaration, 或者我需要用这种方法来做这个 {{(endTime - startTime) % (60 * 60 * 24) / (60 * 60) | number: 0}}: {{(endTime - startTime) % (60 * 60) / 60 | number: 0

我使用以下代码打印时间持续时间:

{{(endTime - startTime) * 1000 | date: 'H:mm:ss'}}
但是我得到了GMT+8的时间

AngularJS有办法打印出不可转换的duaration, 或者我需要用这种方法来做这个

{{(endTime - startTime) % (60 * 60 * 24) / (60 * 60) | number: 0}}:
{{(endTime - startTime) % (60 * 60) / 60 | number: 0}}:
{{(endTime - startTime) % 60 | number: 0}}

date
过滤器格式化a(以毫秒为单位),因此它对持续时间不起作用


您必须按照您的建议手动设置格式。

最好的方法是使用moment.js库。其中有许多功能对应用程序改进很有用。

您可以使用bower组件
要按持续时间格式化。

在AngularJS 1.3及更高版本中,日期过滤器中有可选的时区参数。文档说,如果未指定时区,将使用浏览器的时区

{{(endTime - startTime) | date: 'H:mm:ss': 'UTC'}}

添加“UTC”时区将打印持续时间

{{(endTime - startTime) | date: 'H:mm:ss': 'UTC'}}

*1000
做什么?javascript使用毫秒时间,我的endTime和startTime变量是由PHP time()函数生成的。我不知道为什么以前没有人对这个答案投赞成票,但它非常出色,工作非常完美。非常感谢。不为我工作的情况下,需要显示天也。使用此解决方案会增加1天,因为“dd”从“01”开始。需要检查持续时间是否大于等于1,以减去1天的持续时间(24*60*60*1000)。现在它工作了!谢谢你的灵感