convertTimeByTimeZone
convertTimeByTimeZone(localTimestamp: TimeStamp
foreignTimeZone: JadeTimeZone): TimeStamp;
The convertTimeByTimeZone method of the JadeTimeZone class converts the timestamp of the local time zone specified in the localTimestamp parameter to the timestamp of the foreign time zone specified in the foreignTimeZone parameter, accounting for daylight saving and any historical time zone information available in both time zones.
The following example shows the use of the convertTimeByTimeZone method that converts time between Rome and New York when the clock strikes 12.
example_convertTimeByTimeZone();
vars
romeDate: Date;
romeTime: Time;
romeTimeStamp: TimeStamp;
romeTimeZone: JadeTimeZone;
newYorkTimeStamp: TimeStamp;
newYorkTimeZone: JadeTimeZone;
begin
romeTime.setTime(0,0,0,0); // Set the time in Rome to midnight
romeDate.setDate(1,1,2020); // Set the day in Rome to the 1st of January 2020
romeTimeStamp.setTime(romeTime);
romeTimeStamp.setDate(romeDate);
romeTimeZone := JadeTimeZone@createTimeZoneByName("Europe/Rome");
// Create a JadeTimeZone for Rome
newYorkTimeZone := JadeTimeZone@createTimeZoneByName("America/New_York");
// Create a JadeTimeZone for New York
newYorkTimeStamp := romeTimeZone.convertTimeByTimeZone(romeTimeStamp,
newYorkTimeZone); // Convert the time for Rome zone to New York time
write "The time in New York when the clock strikes twelve in Rome is
" & newYorkTimeStamp.String;
epilog
delete romeTimeZone;
delete newYorkTimeZone;
end;
2020.0.01 and higher
