Текущая дата / время в переменной TDateTime

Я использую C ++ и использую тип данных TDateTime.

Как я могу получить текущую системную дату / время и поместить ее в переменную TDateTime?

1

Решение

Ты звонишь Now(), TDateTime t = Now();, Вот учебник. Вы должны быть в состоянии понять это с помощью простого поиска. Пожалуйста, постарайтесь приложить больше усилий, чтобы разобраться в этих проблемах самостоятельно.

4

Другие решения

Как сказал Джесси, вы можете использовать Now() функция (или статическая TDateTime::CurrentDateTime() метод). Обратите внимание, что в Windows внутренне он вызывает Win32 API GetLocalTime() функция, которая возвращает системную дату / время в местном часовом поясе. Если вместо этого вы хотите использовать текущую системную дату / время в формате UTC, вы можете написать собственную функцию, которая вызывает GetSystemTime() вместо GetLocalTime():

TDateTime __fastcall NowUTC()
{
SYSTEMTIME SystemTime;
::GetSystemTime(&SystemTime);
return EncodeDate(SystemTime.wYear, SystemTime.wMonth, SystemTime.wDay) + EncodeTime(SystemTime.wHour, SystemTime.wMinute, SystemTime.wSecond, SystemTime.wMilliseconds);
}
5