在 BrightScript 中查找日期差异
Find Date Difference in BrightScript
我对日期时间有疑问。
我有两个字符串。
例如 24-9-15
和 2-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
我对日期时间有疑问。
我有两个字符串。
例如 24-9-15
和 2-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