Tm-structure
Jump to navigation
Jump to search
Description
Member | Type | Meaning | Range |
---|---|---|---|
tm_sec | int | seconds after the minute | 0-60* |
tm_min | int | minutes after the hour | 0-59 |
tm_hour | int | hours since midnight | 0-23 |
tm_mday | int | day of the month | 1-31 |
tm_mon | int | months since January | 0-11 |
tm_year | int | years since 1900 | |
tm_wday | int | days since Sunday | 0-6 |
tm_yday | int | days since January 1 | 0-365 |
tm_isdst | int | Daylight Saving Time flag |
(*) tm_sec is generally 0-59. The extra range is to accommodate for leap seconds in certain systems.
Example
.text:004017FF loc_4017FF:
.text:004017FF push 0 ; Time
.text:00401801 call ds:_time64
.text:00401807 add esp, 4
.text:0040180A mov dword ptr [ebp+Time], eax
.text:0040180D lea eax, [ebp+Time]
.text:00401810 mov dword ptr [ebp+Time+4], edx
.text:00401813 push eax ; Time
.text:00401814 call ds:_localtime64
.text:0040181A mov esi, ds:__imp_??3@YAXPAX@Z ; operator delete(void *)
.text:00401820 add esp, 4
.text:00401823 mov edx, [eax+tm.tm_year] ; edx = years since 1900
.text:00401826 mov ecx, [eax+tm.tm_mon] ; ecx = month (0-11)
.text:00401829 add edx, 76Ch ; edx = year + 1900 = current year
.text:0040182F mov eax, [eax+tm.tm_mday] ; eax = mday