Как получить соответствующую метку времени в c для журналов? - PullRequest
7 голосов
/ 07 марта 2012

Я создаю клиент-серверное приложение. Я хочу сделать некоторые записи.

Сервер в C. Теперь я печатаю сообщения в терминал. Так что я, вероятно, просто скопирую это в sprintf и добавлю метку времени. Как я могу сделать эту метку времени? Вероятно, оно должно включать дату, часы, минуты, секунды.

Ответы [ 2 ]

16 голосов
/ 07 марта 2012
#include <time.h>
void timestamp()
{
    time_t ltime; /* calendar time */
    ltime=time(NULL); /* get current cal time */
    printf("%s",asctime( localtime(&ltime) ) );
}

На моем ПК просто печатается

Wed Mar 07 12:27:29 2012

Проверьте весь спектр функций, связанных со временем здесь http://pubs.opengroup.org/onlinepubs/7908799/xsh/time.h.html

5 голосов
/ 07 марта 2012

Ниже вы найдете безопасную версию ответа Павана.

time_t ltime;
struct tm result;
char stime[32];

ltime = time(NULL);
localtime_r(&ltime, &result);
asctime_r(&result, stime);

Пожалуйста, обратитесь к это для более подробной информации.

...