Пространства имён
Варианты
Действия

std::ctime

Материал из cppreference.com
< cpp‎ | chrono‎ | c
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм (C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования (C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
 
Утилиты даты и времени в стиле C
Функции
Манипуляции временем
Преобразование форматов
ctime
Константы
Типы
(C++17)
 
Определено в заголовочном файле <ctime>
char* ctime( const std::time_t* time );

Преобразует заданное время с начала эпохи в местное календарное время, а затем в текстовое представление, как если бы была вызвана std::asctime(std::localtime(time)). Результирующая строка имеет следующий формат:

Www Mmm dd hh:mm:ss yyyy\n
  • Www - день недели (одно из Mon, Tue, Wed, Thu, Fri, Sat, Sun).
  • Mmm - месяц (одно из Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec).
  • dd - день месяца
  • hh - часы
  • mm - минуты
  • ss - секунды
  • yyyy - годы

Функция не поддерживает локализацию.

Содержание

[править] Параметры

time указатель на объект std::time_t, определяющий время для печати

[править] Возвращаемое значение

Указатель на статическую строку символов с завершающим нулём, содержащую текстовое представление даты и времени. Строка может совместно использоваться std::asctime и std::ctime и может перезаписываться при каждом вызове любой из этих функций.

[править] Примечание

Эта функция возвращает указатель на статические данные и не является потокобезопасной. Кроме того, она изменяет статический объект std::tm, который может использоваться совместно с std::gmtime и std::localtime. POSIX помечает эту функцию как устаревшую и вместо неё рекомендует использовать std::strftime.

Поведение может быть неопределённым для значений std::time_t, которые приводят к строке длиннее 25 символов (например, год 10000).

[править] Пример

#include <ctime>
#include <cstring>
#include <cassert>
#include <iostream>
 
int main()
{
    std::time_t result = std::time(nullptr);
    std::cout << std::ctime(&result);
 
    char buffer[32];
    std::strncpy(buffer, std::ctime(&result), 26);
    assert('\n' == buffer[std::strlen(buffer)-1]);
    std::cout << buffer;
}

Возможный вывод:

Mon Oct 11 17:10:55 2021
Mon Oct 11 17:10:55 2021

[править] Смотрите также

преобразует объект std::tm в текстовое представление
(функция) [править]
преобразует объект std::tm в пользовательское текстовое представление
(функция) [править]
(C++11)
форматирует и выводит значение даты/времени в соответствии с указанным форматом
(шаблон функции) [править]