Получение системной даты в MSVC 6.0 - PullRequest
1 голос
/ 13 октября 2008

Я пытаюсь получить системную дату в C-программе на компиляторе MSVC ++ 6.0. Я использую системный вызов:

system ("date / T") (вывод, например, 13-окт-08, который является датой в моей системе в формате, который я установил)

но это печатает дату на консоль ввода / вывода.

Как заставить эту дату взять возвращенную системным вызовом и сохранить ее как строковое значение в строке, определенной в моем коде? Или

Есть ли какой-либо другой API, который я могу использовать для получения даты в вышеуказанном формате (13-окт-08 или 13-10-08)?

-AD

Ответы [ 4 ]

1 голос
/ 13 октября 2008
#include <windows.h>
#include <iostream>

int main() {

  SYSTEMTIME systmDateTime = {};
  ::GetLocalTime(&systmDateTime);

  wchar_t wszDate[64] = {};
  int const result = ::GetDateFormatW(
    LOCALE_USER_DEFAULT, DATE_SHORTDATE,
    &systmDateTime, 0, wszDate, _countof(wszDate));

  if (result) {
    std::wcout << wszDate;
  }
}
0 голосов
/ 13 октября 2008

Спасибо за указатели.

Я использовал это, и это послужило моей цели:

#include <time.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/timeb.h>
#include <string.h>
    int main()

    {  

        char tmpbuf[128];

        time_t ltime;

        struct tm *today;

        _strdate( tmpbuf );
        printf("\n before formatting date is %s",tmpbuf);  

        time(&ltime);
        today = localtime( &ltime );

        strftime(tmpbuf,128,"%d-%m-%y",today);
        printf( "\nafter formatting date is %s\n", tmpbuf );

    }

-AD

0 голосов
/ 13 октября 2008

Иметь чтение Win32 Time функций ; GetLocalTime может быть вашим другом. Существуют также стандартные функции времени C, time и strftime.

Для дальнейшего использования в программе на Си почти всегда неверный ответ - вызывать внешнюю утилиту и записывать ее STDOUT.

0 голосов
/ 13 октября 2008

Есть несколько способов сделать это с помощью функций API, на ум приходят два: strftime и GetDateFormat .

Я хотел бы привести примеры, но, боюсь, на данный момент у меня нет под рукой компилятора Win32. Надеюсь, примеров в приведенной выше документации достаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...