(Tcl) Compute Difference Between Two DateTime Strings
Demonstrates how to compute the difference between two datetime strings.
load ./chilkat.dll
# Imagine we have these strings:
set t1 "2022-11-14 15:45:38"
set 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.
set sb1 [new_CkStringBuilder]
CkStringBuilder_Append $sb1 $t1
set count [CkStringBuilder_Replace $sb1 " " "T"]
CkStringBuilder_Append $sb1 "Z"
set sb2 [new_CkStringBuilder]
CkStringBuilder_Append $sb2 $t2
set count [CkStringBuilder_Replace $sb2 " " "T"]
CkStringBuilder_Append $sb2 "Z"
# Load each into a CkDateTime
set dt1 [new_CkDateTime]
CkDateTime_SetFromTimestamp $dt1 [CkStringBuilder_getAsString $sb1]
# verify...
puts [CkDateTime_getAsTimestamp $dt1 0]
set dt2 [new_CkDateTime]
CkDateTime_SetFromTimestamp $dt2 [CkStringBuilder_getAsString $sb2]
# verify...
puts [CkDateTime_getAsTimestamp $dt2 0]
# Get the difference in seconds
set diffSeconds [CkDateTime_DiffSeconds $dt2 $dt1]
puts "Difference in seconds: $diffSeconds"
puts "Difference in minutes: [expr $diffSeconds / 60]"
delete_CkStringBuilder $sb1
delete_CkStringBuilder $sb2
delete_CkDateTime $dt1
delete_CkDateTime $dt2
|