Функция strftime
Функция strftime форматирует дату и время,
хранящиеся в структуре tm,
в строку согласно заданному формату.
В первый параметр мы передаем указатель на буфер,
куда будет записана результирующая строка,
во второй - максимальный размер этого буфера,
в третий - строку формата,
а в четвертый - указатель на структуру tm
с датой и временем.
Функция возвращает количество символов,
записанных в буфер, не считая завершающего нуля.
Синтаксис
size_t strftime(char* str, size_t count, const char* format, const tm* time)
Пример
Давайте отформатируем текущую дату и время в привычный вид и выведем результат:
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
time_t t = time(nullptr);
tm* local = localtime(&t);
char res[100];
strftime(res, sizeof(res), "%Y-%m-%d %H:%M:%S", local);
cout << res << endl;
return 0;
}
Результат выполнения кода:
"2024-01-15 14:30:45"
Пример
Давайте выведем день недели и название месяца для заданной даты:
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
tm date = {};
date.tm_year = 2024 - 1900;
date.tm_mon = 0;
date.tm_mday = 15;
char res[100];
strftime(res, sizeof(res), "%A, %d %B %Y", &date);
cout << res << endl;
return 0;
}
Результат выполнения кода:
"Monday, 15 January 2024"