Xbase++
Xbase++
Compute Difference Between Two DateTime Strings
Demonstrates how to compute the difference between two datetime strings.Chilkat Xbase++ Downloads
LOCAL cT1
LOCAL cT2
LOCAL oSb1
LOCAL nCount
LOCAL oSb2
LOCAL oDt1
LOCAL oDt2
LOCAL nDiffSeconds
// Imagine we have these strings:
cT1 := "2022-11-14 15:45:38"
cT2 := "2022-11-16 17:23:41"
// How many minutes are between the two?
// First, we'd want load each date/time into a Chilkat CkDateTime object.
// In this case, there are no CkDateTime methods that accept the above format.
// However.. the CkDateTime's SetFromTimestamp will accept a date in the format "YYYY-MM-DDThh:mm:ssZ"
// First modify the above dates to the timestamp format.
oSb1 := CreateObject("Chilkat.StringBuilder")
oSb1:Append(cT1)
nCount := oSb1:Replace(" ", "T")
oSb1:Append("Z")
oSb2 := CreateObject("Chilkat.StringBuilder")
oSb2:Append(cT2)
nCount := oSb2:Replace(" ", "T")
oSb2:Append("Z")
// Load each into a CkDateTime
oDt1 := CreateObject("Chilkat.CkDateTime")
oDt1:SetFromTimestamp(oSb1:GetAsString())
// verify...
? oDt1:GetAsTimestamp(0)
oDt2 := CreateObject("Chilkat.CkDateTime")
oDt2:SetFromTimestamp(oSb2:GetAsString())
// verify...
? oDt2:GetAsTimestamp(0)
// Get the difference in seconds
nDiffSeconds := oDt2:DiffSeconds(oDt1)
? "Difference in seconds: " + Str(nDiffSeconds)
? "Difference in minutes: " + Str(nDiffSeconds / 60)
oSb1:destroy()
oSb2:destroy()
oDt1:destroy()
oDt2:destroy()