Time 将秒转换为小时:分钟:秒

Time 将秒转换为小时:分钟:秒,time,roku,brightscript,Time,Roku,Brightscript,我需要将秒转换为小时:分钟:秒 例如:685转换为00:11:25 我怎样才能做到这一点 我在brightscript文档中找不到方法 这就解决了问题 Function gmdate(seconds as Dynamic) as Dynamic a = seconds b = 60 c = Fix(a / b) sec = a - b * c a = Fix(a/60) b = 60 c = Fix(a / b) min = a - b *

我需要将秒转换为小时:分钟:秒

例如:685转换为00:11:25

我怎样才能做到这一点

我在brightscript文档中找不到方法

这就解决了问题

Function gmdate(seconds as Dynamic) as Dynamic 
  a   = seconds
  b   = 60
  c   = Fix(a / b)
  sec = a - b * c


 a   = Fix(a/60)
 b   = 60
 c   = Fix(a / b)
 min = a - b * c

 a   = Fix(a/60)
 b   = 60
 c   = Fix(a / b)
 hour = a - b * c

if sec > 9
 sec = sec.toStr()
else
  sec = "0"+sec.toStr()
end if 

 if min > 9
  min = min.toStr()
 else
  min = "0"+min.toStr()
 end if 

if hour > 9
 hour = hour.toStr()
else
 hour = "0"+hour.toStr()
end if 
 tmes_string =  hour+":"+min+":"+sec
 return tmes_string
End FUnction
怎么样

'e.g. tm = 685
hrs = int(tm / 3600)
mins = int(tm / 60) % 60
secs = tm % 60
time_str = str(hrs).replace(" ", "0") + ":" + str(mins).replace(" ", "0") + ":" + str(secs).replace(" ", "0")
函数GetDurationString(totalSeconds=0作为整数)作为字符串 剩余=总秒数 小时=Int(剩余/3600).ToStr() 剩余=剩余3600模 分钟=Int(剩余的/60).ToStr() 剩余=剩余模块60 秒=剩余时间。ToStr() 如果小时数为“0”,则 返回PadLeft(小时,“0”,2)+“:”+PadLeft(分钟,“0”,2)+“:”+PadLeft(秒,“0”,2) 其他的 返回左键(分钟,“0”,2)+“:”+左键(秒,“0”,2) 如果结束 端函数 函数PadLeft(值作为字符串,padChar作为字符串,totalLength作为整数)作为字符串 而value.Len() value=padChar+value 结束时 返回值 端函数
对于roDateTime组件,使用FromSeconds()方法获取时间戳。然后从这个时间戳可以得到GetMinutes()GetHours()和GetSeconds()

我尝试了下面所有的应答函数。对于添加偏移量和获取小时和分钟数,如
diffinsionds=m.date2.AsSeconds()+m.date1.GetTimeZoneOffset()
,但在这里,我发现了错误的值
0445020:054:030
。有没有办法添加偏移量并获取小时和分钟数?
Function GetDurationString(totalSeconds = 0 As Integer) As String
    remaining = totalSeconds
    hours = Int(remaining / 3600).ToStr()
    remaining = remaining Mod 3600
    minutes = Int(remaining / 60).ToStr()
    remaining = remaining Mod 60
    seconds = remaining.ToStr()

    If hours <> "0" Then
        Return PadLeft(hours, "0", 2) + ":" + PadLeft(minutes, "0", 2) + ":" + PadLeft(seconds, "0", 2)
    Else
        Return PadLeft(minutes, "0", 2) + ":" + PadLeft(seconds, "0", 2)
    End If
End Function

Function PadLeft(value As String, padChar As String, totalLength As Integer) As String
    While value.Len() < totalLength
        value = padChar + value
    End While
    Return value
End Function