Std::chrono::system_lock::now() с учетом часового пояса, настроенного ОСC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Std::chrono::system_lock::now() с учетом часового пояса, настроенного ОС

Сообщение Anonymous »

Я пишу код C++, который работает на Linux, встроенном в BusyBox. В моем коде и его библиотеках есть несколько вызовов std::chrono::system_lock::now() для получения текущего времени.
До сих пор мой компьютер был настроен как часовой пояс по умолчанию (UTC), и все работало нормально, процессы выполнялись и результаты были в порядке.
Теперь мне пришлось настроить Linux так, чтобы он оставался в другом часовом поясе. Я сделал это, написав в /etc/profile:

Код: Выделить всё

export TZ=UTC+3
Когда я ввожу команду date на консоли, я получаю правильное время, но мои вызовы std::chrono::system_lock::now() по-прежнему возвращают время UTC, а не время, которое показано в команде date (правильное время).
Я не хочу менять все мои вызовы now() — их сотни... И это приводит к тому, что мои процессы работают с другим временем, чем время правильное время, установленное на консоли.
Есть ли способ решить эту проблему, не меняя мой код? Что-нибудь, что мне здесь не хватает?

Подробнее здесь: https://stackoverflow.com/questions/392 ... -time-zone
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»