получите местное время с повышением

Я не нашел это в документации: как получить местное время (лучше отформатированный) с повышением?

14
задан jsight 22 March 2010 в 14:11
поделиться

3 ответа

Используйте posix_time для создания объекта времени из системных часов.

Например, это выведет текущее системное время в виде строки ISO-формата:

namespace pt = boost::posix_time;
pt::to_iso_string(pt::second_clock::local_time());

Альтернативные варианты форматирования см. в разделе "Преобразование в строку" вышеуказанной ссылки и в ссылке Date Time Input/Output. Кроме того, вы можете создать свою собственную строку вывода, используя функции доступа. Например, чтобы получить дату в стиле США:

namespace pt = boost::posix_time;
pt::ptime now = pt::second_clock::local_time();
std::stringstream ss;
ss << static_cast<int>(now.date().month()) << "/" << now.date().day()
    << "/" << now.date().year();
std::cout << ss.str() << std::endl;

Обратите внимание, что месяц приводится к int, поэтому он будет отображаться в виде цифр. Фасет вывода по умолчанию отобразит его как трехбуквенное сокращение месяца ("Mar" для марта).

20
ответ дан 1 December 2019 в 13:08
поделиться

Используйте API ввода/вывода даты/времени:

http://www.boost.org/doc/libs/1_42_0/doc/html/date_time/date_time_io.html#date_time.io_objects

0
ответ дан 1 December 2019 в 13:08
поделиться

Не знаю, поможет ли это, но в boost docs есть несколько примеров форматирования дат.

Кроме того, я думаю, что эта статья описывает некоторые основы, на которые стоит обратить внимание.

0
ответ дан 1 December 2019 в 13:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: