Если вы хотите, чтобы оно было числом (а не строкой), просто зайдите в соответствующее поле в структуре brokentime
:
time_t result;
result = time(NULL);
struct tm* brokentime = localtime(&result);
int h = brokentime->tm_hour; /* h now contains the hour (1) */
Если вы хотите, чтобы она была в виде строки, вам придется отформатировать строку самостоятельно (вместо использования asctime
):
time_t result;
result = time(NULL);
struct tm* brokentime = localtime(&result);
char hour_str[3];
strftime(hour_str, sizeof(hour_str), "%H", brokentime);
/* hour_str now contains the hour ("01") */
Используйте %I
вместо %H
, чтобы получить 12-часовое время вместо 24-часового.