PowerBuilder
PowerBuilder
Compute Difference Between Two DateTime Strings
Demonstrates how to compute the difference between two datetime strings.Chilkat PowerBuilder Downloads
integer li_rc
string ls_T1
string ls_T2
oleobject loo_Sb1
integer li_Count
oleobject loo_Sb2
oleobject loo_Dt1
oleobject loo_Dt2
integer li_DiffSeconds
// Imagine we have these strings:
ls_T1 = "2022-11-14 15:45:38"
ls_T2 = "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.
loo_Sb1 = create oleobject
li_rc = loo_Sb1.ConnectToNewObject("Chilkat.StringBuilder")
if li_rc < 0 then
destroy loo_Sb1
MessageBox("Error","Connecting to COM object failed")
return
end if
loo_Sb1.Append(ls_T1)
li_Count = loo_Sb1.Replace(" ","T")
loo_Sb1.Append("Z")
loo_Sb2 = create oleobject
li_rc = loo_Sb2.ConnectToNewObject("Chilkat.StringBuilder")
loo_Sb2.Append(ls_T2)
li_Count = loo_Sb2.Replace(" ","T")
loo_Sb2.Append("Z")
// Load each into a CkDateTime
loo_Dt1 = create oleobject
li_rc = loo_Dt1.ConnectToNewObject("Chilkat.CkDateTime")
loo_Dt1.SetFromTimestamp(loo_Sb1.GetAsString())
// verify...
Write-Debug loo_Dt1.GetAsTimestamp(0)
loo_Dt2 = create oleobject
li_rc = loo_Dt2.ConnectToNewObject("Chilkat.CkDateTime")
loo_Dt2.SetFromTimestamp(loo_Sb2.GetAsString())
// verify...
Write-Debug loo_Dt2.GetAsTimestamp(0)
// Get the difference in seconds
li_DiffSeconds = loo_Dt2.DiffSeconds(loo_Dt1)
Write-Debug "Difference in seconds: " + string(li_DiffSeconds)
Write-Debug "Difference in minutes: " + string(li_DiffSeconds / 60)
destroy loo_Sb1
destroy loo_Sb2
destroy loo_Dt1
destroy loo_Dt2