Sample code for 30+ languages & platforms
PowerBuilder

Compute Difference Between Two DateTime Strings

Demonstrates how to compute the difference between two datetime strings.

Chilkat PowerBuilder Downloads

PowerBuilder
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