Sample code for 30+ languages & platforms
Tcl Requires Chilkat v11.0.0+

Parse a Microsoft JSON Date (MS AJAX Date)

See more JSON Examples

Demonstrates how to parse a Microsoft JSON Date, also known as an MSAJAX date.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

#  Parse Microsoft JSON Dates (AJAX Dates)
set json [new_CkJsonObject]

set success [CkJsonObject_Load $json "{ \"AchievementDate\":\"/Date(1540229468330-0500)/\"}"]

set dt [new_CkDateTime]

set success [CkJsonObject_DateOf $json "AchievementDate" $dt]
if {$success != 1} then {
    puts "Unable to parse a date/time."
    delete_CkJsonObject $json
    delete_CkDateTime $dt
    exit
}

#  Show the date in different formats:
set bLocal 1
puts "RFC822: [CkDateTime_getAsRfc822 $dt $bLocal]"
puts "Timestamp: [CkDateTime_getAsTimestamp $dt $bLocal]"
puts "YYYY-MM-DD: [CkDateTime_getAsIso8601 $dt YYYY-MM-DD $bLocal]"

#  Get integer values for year, month, day, etc.
set dtObj [new_CkDtObj]

CkDateTime_ToDtObj $dt $bLocal $dtObj

puts "year: [CkDtObj_get_Year $dtObj]"
puts "month: [CkDtObj_get_Month $dtObj]"
puts "day: [CkDtObj_get_Day $dtObj]"
puts "hour: [CkDtObj_get_Hour $dtObj]"
puts "minute: [CkDtObj_get_Minute $dtObj]"
puts "seconds: [CkDtObj_get_Second $dtObj]"

#  Sample output:
#  RFC822: Mon, 22 Oct 2018 17:31:08 -0500
#  Timestamp: 2018-10-22T17:31:08-05:00
#  YYYY-MM-DD: 2018-10-22
#  year: 2018
#  month: 10
#  day: 22
#  hour: 17
#  minute: 31
#  seconds: 8

delete_CkJsonObject $json
delete_CkDateTime $dt
delete_CkDtObj $dtObj