35 lines
821 B
C
35 lines
821 B
C
fn os_date_t os_local_time_now(void) {
|
|
os_date_t result = {0};
|
|
SYSTEMTIME lt;
|
|
GetLocalTime(<);
|
|
result.ms = lt.wMilliseconds;
|
|
result.sec = lt.wSecond;
|
|
result.min = lt.wMinute;
|
|
result.hour = lt.wHour;
|
|
result.day = lt.wDay;
|
|
result.month = lt.wMonth;
|
|
result.year = lt.wYear;
|
|
return result;
|
|
}
|
|
|
|
fn f64 os_seconds_now(void) {
|
|
static int64_t counts_per_second;
|
|
if (counts_per_second == 0) {
|
|
LARGE_INTEGER freq;
|
|
QueryPerformanceFrequency(&freq);
|
|
counts_per_second = freq.QuadPart;
|
|
}
|
|
|
|
LARGE_INTEGER time;
|
|
QueryPerformanceCounter(&time);
|
|
f64 result = (f64)time.QuadPart / (f64)counts_per_second;
|
|
return result;
|
|
}
|
|
|
|
fn f64 os_get_milliseconds(void) {
|
|
f64 secs = os_seconds_now();
|
|
f64 result = secs * 1000;
|
|
return result;
|
|
}
|
|
|