c$ = "POWERSHELL SYSTEMINFO > TimeZoneList.txt" 'also exists better statement POWERSHELL "Get-TimeZone" BUT THIS IS FOR POWERSHELL 5.0 an newer, so this work not under Windows 7!
PRINT "Please wait, finding your GMT..."
gmc
= INSTR(VPRINT$
(d$
, 32, 96), "(") gmc$
= MID$(VPRINT$
(d$
, 32, 96), gmc
, 11) PRINT "Your time zone is: "; gmc$
IF sign$
= "-" THEN H
= H
* -1 r = r + 1
'time zones shift (gmc) for:
'Prague = 1: Israel = 2: Moscow = 3: Bangkok = 7: Perth = 8: Tokio = 9: Sydney = 11: Wellington = 13: Brasil = -3: Halifax = -4: Indiana = -5: Mexico = -6: Arizona = -7: Tijuana = -8: Samoa = 14
DATA 1,2,3,7,8,9,11,13,-3,-4,-5,-6,-7,-8,14 DATA Prague
,Israel
,Moscow
,Bangkok
,Perth
,Tokio
,Sydney
,Wellington
,Brasil
,Halifax
,Indiana
,Mexico
,Arizona
,Tijuana
,Samoa
T = GETHOUR - H
d$ = ""
nt = T + areas(dl)
ont = nt
'date and day name upgrade
IF GETMONTH
= 1 AND GETDAY
= 1 THEN year2
= GETYEAR
- 1: month2
= 12: day2
= 31:
ELSE year2
= GETYEAR: month2
= GETMONTH: day2
= GETDAY
- 1 daynr = GETDAYNR(year2, month2, day2)
nd$ = GETDATE$(daynr, year2)
d$ = nd$ + ", " + GETDAYNAME$(year2, month2, day2)
d$
= DATE$ + ", " + GETDAYNAME$
(GETYEAR
, GETMONTH
, GETDAY
) IF GETMONTH
= 12 AND GETDAY
= 31 THEN year2
= GETYEAR
+ 1: month2
= 1: day2
= 1:
ELSE year2
= GETYEAR: month2
= GETMONTH: day2
= GETDAY
+ 1 daynr = GETDAYNR(year2, month2, day2)
nd$ = GETDATE$(daynr, year2)
d$ = nd$ + ", " + GETDAYNAME$(year2, month2, day2)
'---------------------------------
PRINT "Time in "; names
(dl
);
":";
TAB(30); nt$;
":"; Min$;
":"; sec$;
" "; d$
'========================================================================================================================================================
FUNCTION ISDATE
(LShift
, LocalTime
, NShift
) 'outputs: 1 = DATE is down to 1 Day, 2 = DATE is the same as local date, 3 = DATE is up to 1 day. 'LShift = Local Time Zone (POWERSHELL output), Local Time (Hour in this example), NShift = Other Timer Zone (neighbor zone) time shift
'calculate real time shift between zones (computer zone / neighbor zone)
Tzone = NShift 'pro pasmo 0
IF NShift
> 0 THEN Tzone
= NShift
- LShift
IF NShift
< 0 THEN Tzone
= -1 * ABS(NShift
- LShift
)
IF LocalTime
+ Tzone
>= 24 THEN ISDATE
= 3 ELSE ISDATE
= 2 'I am from time zone +1. So for example, Israel is time zone +2. If in my zone is 23:00, my zone use old date, but Israel use new date in the same time, ' because there is midnight. Real time shift between Czech republic and Israel is one hour.
IF NShift
< 0 THEN ' zone MINUS IF LocalTime
+ Tzone
>= 0 THEN ISDATE
= 2 ELSE ISDATE
= 1
FUNCTION GETDATE$
(NrOfTheDayInYear
, y
) 'return date 'YYYYMMDD in year y oldm = om
om = om + m
day = NrOfTheDayInYear - om + m
FUNCTION GETDAYNR
(y
, m
, d
) 'insert year, month and day and function calculate which day in year it is GETDAYNR = GETDAYNR + m
GETDAYNR = GETDAYNR - (m - d)
days = day
IF yyr
= year
THEN monthend
= month
ELSE monthend
= 12 om = m
days = days + m
days = days - m - 1
a
= (days
MOD 7) '0 = monday nms:
DATA Monday
,Tuesday
,Wednesday
,Thursday
,Friday
,Saturday
,Sunday
GETSECOND
= INT(TIMER - (M
* 60 + H
* 3600)) 'print visible string ASC start from s, to e
VPRINT$ = ""
VPRINT$
= VPRINT$
+ MID$(t$
, l
, 1)