我从API获得一个名为duration_in_milliseconds的字段,是否有函数或方法将其转换为小时:分钟:秒以某种方式?
我看过,找不到任何解决方案。谢谢你的帮助吗?
答案 0 :(得分:16)
@ craigster的答案非常有用,如果您只需要或小时数或以毫秒为单位的秒数。
如果你想要这三个,你需要做更多的算术。
例如,23小时59分55秒:
(23 * 60 * 60 * 1000)
+ (59 * 60 * 1000)
+ (55 * 1000)
= 86395000 milliseconds
要将86395000转换回HH:MM:SS,您可以这样做:
<cfscript>
hours = int(duration_in_milliseconds \ (60 * 60 * 1000));
mins = (duration_in_milliseconds \ (60 * 1000)) mod 60;
secs = (duration_in_milliseconds \ 1000) mod 60;
</cfscript>
<cfoutput>#hours# #mins# #secs#</cfoutput>
答案 1 :(得分:3)
你所要做的只是分开它。
duration_in_milliseconds / 1000 =秒
duration_in_milliseconds / 60000 =分钟
(duration_in_milliseconds / 60000)/ 60 =小时
在Coldfusion Code中,它可能看起来像这样
如果你想要小时使用这一行
<cfset Hours = (LSParseNumber(duration_in_milliseconds) / 60000) / 60>
如果你想要Minutes使用这一行
<cfset Minutes= LSParseNumber(duration_in_milliseconds) / 60000>
如果你想让Seconds使用这一行
<cfset Seconds= LSParseNumber(duration_in_milliseconds) / 1000>
答案 2 :(得分:2)
你应该从这个开始:createTimeStruct()
,并修改它以支持毫秒的掩码。
不要重新发明轮子。只需调整一个现有的轮子。