在 BrightScript 中查找日期差异

Find Date Difference in BrightScript

我对日期时间有疑问。

我有两个字符串。 例如 24-9-152-10-15。 都是两个字符串。

我想找出它们之间的差异(以天为单位)。

你能帮帮我吗?

1) 将 2 个字符串解析为 roDateTime 对象。

参考 - http://sdkdocs.roku.com/display/sdkdoc/roDateTime

2) 通过 date1.AsSeconds()date2.AsSeconds()

获取两个日期的时间(以秒为单位)

3) 减去 2 次,得到以秒为单位的时差。

4) 将秒除以 3600 换算成小时,再除以 24 换算成天

即。 (seconds/3600) / 24

date1 = CreateObject("roDateTime")
date2 = CreateObject("roDateTime")
diffInSeconds = date1.asSeconds() - date2.asSeconds()
print "seconds lapsed " diffInSeconds

如果这些是您的字符串,我认为没有任何函数可以帮助您。您可能必须手动执行此操作。不过,您可以查看 ifDateTime 函数,看看它们是否有帮助。

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) + "hours " + PadLeft(minutes, "0", 2) + "minutes " + PadLeft(seconds, "0", 2) +" seconds"
Else
    Return PadLeft(minutes, "0", 2) + "minutes " + PadLeft(seconds, "0", 2)+" seconds"
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