GetTimeStamp: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
(Created page with '== Usage == === Format === * YYYYMMDDHHmmSS.xxxx === Example === <highlight-nsis> Call GetTimeStamp Pop $0 DetailPrint "TimeStamp=$0" </highlight-nsis> == Function Source == <h...') |
m (moved Function GetTimeStamp to GetTimeStamp: Rename) |
(No difference)
| |
Revision as of 22:26, 8 June 2009
Usage
Format
- YYYYMMDDHHmmSS.xxxx
Example
Call GetTimeStamp Pop $0 DetailPrint "TimeStamp=$0"
Function Source
Function GetTimeStamp ## Store the needed Registers on the stack Push $0 ; Stack $0 Push $1 ; Stack $1 $0 Push $2 ; Stack $2 $1 $0 Push $3 ; Stack $3 $2 $1 $0 Push $4 ; Stack $4 $3 $2 $1 $0 Push $5 ; Stack $5 $4 $3 $2 $1 $0 Push $6 ; Stack $6 $5 $4 $3 $2 $1 $0 Push $7 ; Stack $7 $6 $5 $4 $3 $2 $1 $0 Push $8 ; Stack $8 $7 $6 $5 $4 $3 $2 $1 $0 ## Call System API to get the current system Time System::Alloc 16 Pop $0 System::Call 'kernel32::GetLocalTime(i) i(r0)' System::Call '*$0(&i2, &i2, &i2, &i2, &i2, &i2, &i2, &i2)i (.r1, .r2, .r3, .r4, .r5, .r6, .r7, .r8)' System::Free $0 ## Generate Timestamp StrCpy $0 $1$2$4$5$6$7.$8 ## Restore the Registers and add Timestamp to the Stack Pop $8 ; Stack $7 $6 $5 $4 $3 $2 $1 $0 Pop $7 ; Stack $6 $5 $4 $3 $2 $1 $0 Pop $6 ; Stack $5 $4 $3 $2 $1 $0 Pop $5 ; Stack $4 $3 $2 $1 $0 Pop $4 ; Stack $3 $2 $1 $0 Pop $3 ; Stack $2 $1 $0 Pop $2 ; Stack $1 $0 Pop $1 ; Stack $0 Push $0 ; Stack ${TimeStamp} $0 Exch ; Stack $0 ${TimeStamp} Pop $0 ; Stack ${TimeStamp} FunctionEnd