Sample code for 30+ languages & platforms
Tcl

Compute Difference Between Two DateTime Strings

Demonstrates how to compute the difference between two datetime strings.

Chilkat Tcl Downloads

Tcl

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