JADE Environment Development Ideas

Converting a Timestamp to UTC and daylight savings issues

When we need to get a UTC timestamp (for example creating a calendar .ics file) we would use the following code:

vars
utcPickupTime, pickupTime : TimeStamp;

begin
pickupTime.setDate("05/11/2018".Date);
pickupTime.setTime("10:30".Time);
utcPickupTime := pickupTime.localToUTCTimeUsingBias(app.currentUTCBias(PresentationClient));

The problem is app.currentUTCBias is working for the current point in time. Not working when the pickup time actually is.

In my investigation into this I found this is currently an NFS in Parsys: #55992, #56076

To get around this we are going to need to add an external call to windows which we shouldn't need to do if it was native in Jade.
  • Guest
  • May 1 2019
  • Shipped (2020)
HistoricalComments
FileVision UK Ltd 12/06/2018 2:36:50 AM
Also #61379

Software Medical Infomatics Limited 11/06/2018 11:29:43 AM
Most definitely!
  • Attach files
  • Hugh Mercer-Beumelburg commented
    28 Jan, 2021 03:03am

    Here is how you could write the above code using JadeTimeZone to get the appropriate offsets for when the pickup time is:


    example_jadeTimeZoneCode();

    vars

    utcPickupTime, pickupTime : TimeStamp;

    presClientTimeZone: JadeTimeZone;

    begin

    pickupTime.setDate("5/11/2018".Date);

    pickupTime.setTime("10:30".Time);

    presClientTimeZone := JadeTimeZone@createTimeZoneByLocationWindows(PresentationClient);

    utcPickupTime := presClientTimeZone.convertTimeToUtc(pickupTime);

    end;

  • Admin
    Iryna Melnyk commented
    2 Sep, 2020 09:11am

    JADE Timezones demo is available here.

  • +12