Как отобразить дату с помощью C ++? - PullRequest
0 голосов
/ 26 января 2011

Как я могу отобразить дату, используя функцию «MessageBox»?

Ответы [ 3 ]

1 голос
/ 26 января 2011

Вот ссылка на несколько разных способов получения даты и времени: Дата и время

Скопировано с сайта выше:

Определение (из окон):

typedef struct _SYSTEMTIME {
    WORD wYear;
    WORD wMonth;
    WORD wDayOfWeek;
    WORD wDay;
    WORD wHour;
    WORD wMinute;
    WORD wSecond;
    WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;

Реализация:

SYSTEMTIME st;
GetSystemTime(&st);
// You format how you want
0 голосов
/ 26 января 2011

Например, вот так (я предположил, что вы спрашивали о собственном Windows API):

// Get current time
SYSTEMTIME now;
GetLocalTime(&now);

// Format the date using the default user language
TCHAR buffer[1024];
GetDateFormat(
    MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT), 
    0, 
    &now, 
    NULL, 
    buffer, 
    1024
);

// Show it in a message box
MessageBox(HWND_DESKTOP, buffer, _T("Today"), MB_OK);

Также можно попросить GetDateFormat вычислить длину буфера, необходимую для хранения вывода.Для этого передайте NULL и 0 в качестве двух последних параметров:

int length = GetDateFormat(
    MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT), 
    0, 
    &now, 
    NULL, 
    NULL, 
    0
);
0 голосов
/ 26 января 2011
DateTime dateTime = DateTime::Now;
MessageBox::Show(dateTime.ToString());

Другие ToXString() функции можно найти здесь

...