Sample code for 30+ languages & platforms
PowerBuilder

How to Parse a TimeStamp (such as 2016-11-11T14:32:17.0908971Z)

Timestamps are frequently used in REST API responses. This example demonstrates how to parse a timestamp string to get at the date/time components in the local timezone or in the GMT/UTC timezone.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
string ls_StrTimestamp
oleobject loo_DateTime
integer li_BLocalTimezone
oleobject loo_Dt

// Let's say we have a timestamp string such as 2016-11-11T14:32:17.0908971Z
ls_StrTimestamp = "2016-11-11T14:32:17.0908971Z"

loo_DateTime = create oleobject
li_rc = loo_DateTime.ConnectToNewObject("Chilkat.CkDateTime")
if li_rc < 0 then
    destroy loo_DateTime
    MessageBox("Error","Connecting to COM object failed")
    return
end if
loo_DateTime.SetFromTimestamp(ls_StrTimestamp)

// Get a DtObj in the local timezone.
li_BLocalTimezone = 1
loo_Dt = create oleobject
li_rc = loo_Dt.ConnectToNewObject("Chilkat.DtObj")

loo_DateTime.ToDtObj(li_BLocalTimezone,loo_Dt)

// Get the individual date/time components
Write-Debug "-- Local Time --"
Write-Debug "Year: " + string(loo_Dt.Year)
Write-Debug "Month: " + string(loo_Dt.Month)
Write-Debug "Day: " + string(loo_Dt.Day)
Write-Debug "Hour: " + string(loo_Dt.Hour)
Write-Debug "Minutes: " + string(loo_Dt.Minute)
Write-Debug "Seconds: " + string(loo_Dt.Second)

// Get a DtObj in the GMT/UTC timezone.
li_BLocalTimezone = 0
loo_DateTime.ToDtObj(li_BLocalTimezone,loo_Dt)

// Get the individual date/time components
Write-Debug "-- UTC Time --"
Write-Debug "Year: " + string(loo_Dt.Year)
Write-Debug "Month: " + string(loo_Dt.Month)
Write-Debug "Day: " + string(loo_Dt.Day)
Write-Debug "Hour: " + string(loo_Dt.Hour)
Write-Debug "Minutes: " + string(loo_Dt.Minute)
Write-Debug "Seconds: " + string(loo_Dt.Second)


destroy loo_DateTime
destroy loo_Dt