Как напечатать значение типа unsigned int как строку времени в C - PullRequest
2 голосов
/ 20 августа 2010

Мне нужно напечатать это значение в виде временной строки в формате Пн 16 августа 2010 г. 06:24 или в другом подобном формате.

unsigned int t = 1281920090;

Ответы [ 2 ]

4 голосов
/ 20 августа 2010

Вы можете использовать функции gmtime и asctime как:

#include <stdio.h>
#include <time.h>

int main() {
        time_t timestamp = 1281920090;
        printf("%s", asctime(gmtime(&timestamp)));
        return 0;
}

Выход:

$ gcc a.c && ./a.out
Mon Aug 16 00:54:50 2010
2 голосов
/ 20 августа 2010

Это на самом деле time_t, а не беззнаковое целое.

Вы можете использовать ctime для генерации простой строки в аналогичном формате (или комбинации asctime и localtime или gmtime) или вы можете использовать strftime, чтобы указать желаемый формат.

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