Porovnávané verzie
porovnané s
Kľúč
- Tento riadok sa pridal
- Riadok je odstránený.
- Formátovanie sa zmenilo.
%SubTimesLocal function
Function
The function deducts absolute time TimeB from absolute time TimeA. The result is value of Relative time type.
Declaration
| Blok kódu | ||||
|---|---|---|---|---|
| ||||
REAL %SubTimesLocal( TIME in TimeA, TIME in TimeB, TEXT in timeZone := %GetCurrentTimeZone() ) |
Parameters
| TimeA | Absolute time. | ||||||||||
| TimeB | Absolute time. | ||||||||||
| timeZone |
Note: For historical reasons, an integer parameter is also accepted. Its interpretation is as follows: 0 - zone "Europe/London", 3600 - zone "Europe/Bratislava", 7200 - zone "Europe/Kiev", 21600 - zone "Asia/Almaty". Usage of integer parameter is deprecated and generates warning into log file!
|
Description
The function %SubTimesLocal deducts one absolute time from another one. The result will not be influenced by the fact if the time offset was or was not in this interval. For example, the difference between 4:00 and 1:00 a.m. is always three hours.
Example
| Blok kódu | ||||
|---|---|---|---|---|
| ||||
; =================================================================
; Using time zone "Europe/Bratislava"
; Daylight saving time was observed in year 2009, therefore time shifts occured.
; Winter [B] time was 1 hour ahead of UTC, summer [A] time was 2 hours ahead of UTC.
; Summer time was from 29th March 2009 to 24th October 2009.
; A3:00:00 is changed to B2:00:00 on Sunday (25th October 2009).
; =================================================================
BEGIN
TIME _timeA
TIME _timeB
TIME _baseTime
REAL _subLocal1
REAL _subLocal2
; 2009-10-25 00:30:00 UTC
_timeA := %StrToTimeEx("2009-10-25 A2:30:00", "yyyy-mm-dd hh:mi:ss", "Europe/Bratislava")
; 2009-10-25 01:30:00 UTC
_timeB := %StrToTimeEx("2009-10-25 B2:30:00", "yyyy-mm-dd hh:mi:ss", "Europe/Bratislava")
; 2009-10-24 23:30:00 UTC
_baseTime := %StrToTimeEx("2009-10-25 01:30:00", "yyyy-mm-dd hh:mi:ss", "Europe/Bratislava")
; difference 1 hour(s) (3600 seconds)
_subLocal1 := %SubTimesLocal(_timeA, _baseTime, "Europe/Bratislava")
; difference 1 hour(s) (3600 seconds)
_subLocal2 := %SubTimesLocal(_timeB, _baseTime, "Europe/Bratislava")
END |