Sample code for 30+ languages & platforms
PowerBuilder

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 PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Json
oleobject loo_Dt
integer li_BLocal
oleobject loo_DtObj

li_Success = 0

// Parse Microsoft JSON Dates (AJAX Dates)
loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")
if li_rc < 0 then
    destroy loo_Json
    MessageBox("Error","Connecting to COM object failed")
    return
end if

li_Success = loo_Json.Load("{ ~"AchievementDate~":~"/Date(1540229468330-0500)/~"}")

loo_Dt = create oleobject
li_rc = loo_Dt.ConnectToNewObject("Chilkat.CkDateTime")

li_Success = loo_Json.DateOf("AchievementDate",loo_Dt)
if li_Success <> 1 then
    Write-Debug "Unable to parse a date/time."
    destroy loo_Json
    destroy loo_Dt
    return
end if

// Show the date in different formats:
li_BLocal = 1
Write-Debug "RFC822: " + loo_Dt.GetAsRfc822(li_BLocal)
Write-Debug "Timestamp: " + loo_Dt.GetAsTimestamp(li_BLocal)
Write-Debug "YYYY-MM-DD: " + loo_Dt.GetAsIso8601("YYYY-MM-DD",li_BLocal)

// Get integer values for year, month, day, etc.
loo_DtObj = create oleobject
li_rc = loo_DtObj.ConnectToNewObject("Chilkat.DtObj")

loo_Dt.ToDtObj(li_BLocal,loo_DtObj)

Write-Debug "year: " + string(loo_DtObj.Year)
Write-Debug "month: " + string(loo_DtObj.Month)
Write-Debug "day: " + string(loo_DtObj.Day)
Write-Debug "hour: " + string(loo_DtObj.Hour)
Write-Debug "minute: " + string(loo_DtObj.Minute)
Write-Debug "seconds: " + string(loo_DtObj.Second)

// 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


destroy loo_Json
destroy loo_Dt
destroy loo_DtObj