Hi Rubber Duck Fans:
By popular demand well just me.
Warning this program uses a kludge i e we cheat.
We get UTC time aka GMT or London England time.
Then we add one to hour to get GMT + 1.
I do not recommend running this program @ 23:00 or 11 PM CET i e German Time.
; 24HR.ASM 11:46 AM 6/23/2008
include \masm32\include\masm32rt.inc
.data
stm SYSTEMTIME<>
public dtbuf
dtbuf db 260 dup(0)
AppName db "Datum und Uhrzeit in der deutschen:", 0
crlf db 13, 10, 0
tf db "HH':'mm':'ss", 0
.code
start proc
mov esi, offset stm
invoke GetSystemTime, esi; Get UTC
mov ax, stm.wHour
inc ax; GET UTC +1 i e CET
mov stm.wHour, ax
invoke GetDateFormat, 1031, DATE_LONGDATE, addr stm, 0, addr dtbuf, 260
lea esi, offset dtbuf
add esi , eax ; eax is len of format
mov byte ptr [ esi - 1 ] , " "
pushad
mov eax,esp
INVOKE GetTimeFormat,1031,TIME_FORCE24HOURFORMAT,addr stm,NULL, esi,32
add esp,32
pop esi
invoke MessageBox, NULL, addr dtbuf, addr AppName, MB_OK
exit
ret
start endp
end start
We have now got GMT + 1 which is CET i e time in Berlin, Germany,