__time32_t точность времени? - PullRequest
       31

__time32_t точность времени?

1 голос
/ 15 апреля 2011

Я использую API, который использует два объекта __time32_t, чтобы открыть курсор к базе данных, указав время начала и окончания запроса.

Есть ли __time32_t с точностью до секунды (миллисекунды)?MSDN несколько неясен.

У меня есть объект time32_t:

currentET-=.1;

который я ожидал дать мне время внутри currentET минус 10 миллисекунд, но все, что он делает, это вычитаетцелую секунду, как будто я сделал это:

currentET-=1;

Как мне вернуть эту точность обратно в объект time32_t?

Ответы [ 2 ]

5 голосов
/ 15 апреля 2011

__time32_t - это просто целочисленный тип - у него нет особого разрешения, кроме целочисленного. типичные функции __time32_t используются с разрешением в 1 секунду.

0 голосов
/ 15 апреля 2011

Вот пример чего-то, что генерирует с точностью до секунды секунды.Простите за использование макросов TCHAR ... старая кодовая база.

void getCurrTimeString(TCHAR* mytime)
{
    _timeb myTime;
    struct tm * timeinfo;

    _ftime64_s( &myTime );
    time_t rawtime = myTime.time;
    unsigned short myMillis = myTime.millitm;
    timeinfo = localtime ( &rawtime );
    _stprintf(mytime,_T("%d-%02d-%02dT%02d:%02d:%02d.%03d"),
        (1900+timeinfo->tm_year),
        (timeinfo->tm_mon+1),
        timeinfo->tm_mday,
        timeinfo->tm_hour,
        timeinfo->tm_min,
        timeinfo->tm_sec,
        myMillis);
}
...