После перезагрузки мой RPi отключен на один час - Как настроить проблемы с переходом на летнее время?

8

Электричество в мою квартиру отключилось несколько дней назад.

Я использую свой RPi для записи данных и хранения их в базе данных. Я только что узнал, что время для всех моих данных было отключено на час, потому что часы RPi выключены на час.

Из здесь я выпустил tz selectи установить его в Америке / Los_Angeles , и это еще один час медленно.

Как я могу настроить это?

Мэтью Мойзен
источник
1
Часы неправильные или это просто часть шоу для людей? Покажите полный вывод от dateтого, что вы ожидали.
Торбьерн Равн Андерсен
В этом
разделе «

Ответы:

9

Похоже, проблема перехода на летнее время.

Используйте raspi-config, см .: - http://elinux.org/RPi_raspi-config#change_timezone_-_Set_timezone

Вы можете сбросить время

sudo dpkg-reconfigure tzdata
Milliways
источник
Привет Milliways, я пробовал raspi-config и sudo dpgk-reconfigure tzdata, но нет ничего относительно летнего времени. Разве я этого не вижу?
Мэтью Мойсен
Если у вас правильно установлены локаль и часовой пояс, Linux обычно хорошо справляется с управлением DST (не так, как в Windows). Времена файлов записываются в UTC и преобразуются в локальные для диспута. Тем не менее могут возникнуть проблемы, когда правительства возятся с DST. zdump -v Australia/Sydney|grep 2013показывает, когда времена меняются в моем доме. Вы должны проверить, что ваша система говорит для вашей зоны.
Milliways
0

Лучше хранить время UTC в вашей базе данных и переходить на местное время только для целей отображения.

Основная проблема с хранением местного времени состоит в том, что вы получите дублирующийся час, когда начинается летнее время, и пропустите час, когда заканчивается летнее время.

Кроме того, если у вас когда-либо есть доступ к пользователям из разных часовых поясов (что маловероятно для вашего конкретного приложения), то будет труднее определить время в другом часовом поясе и невозможно устранить неоднозначность этого часа в начале перехода на летнее время.

Джон Ла Рой
источник
0

Следующее работало для меня:

sudo reboot

...

Я предполагаю, что, поскольку RPi получает время, когда он подключен к Интернету, мой RPi загрузился быстрее, чем мой маршрутизатор, и что-то пошло не так.

После перезагрузки RPi снова на ходу.

Теперь я ухожу, чтобы очистить некоторые данные ...

Мэтью Мойзен
источник
2
Несколько смущает, как это может быть принятым ответом. То, что это работает для вас, не означает, что это работает для других.
geotheory
@geotheory Я попробовал другие ответы, и они не работали для меня. Я нашел это предложение на другом сайте, попробовал, и все было хорошо.
Мэтью Мойзен
Таким образом, кто-то еще с этой проблемой найдет «принятый» ответ на вопрос «Как приспособиться к проблемам летнего времени?» перезагрузить SO предназначен для того, чтобы иметь традиционную ценность. Это не просто телефон доверия.
geotheory
@geotheory Хорошо, я понимаю вашу точку зрения и оставил без ответа мой ответ. Тем не менее, я просто оставить этот пост без ответа? Я не хочу награждать ответ тем, у кого больше голосов, поскольку это не решило проблему для меня (тогда как перезагрузка сделала).
Мэтью Мойзен
Я бы предложил решение @Milliways, которое, похоже, сработало для 4 пользователей (включая меня), вероятно, заслуживает похвалы, поскольку это стандартный способ изменить настройку часового пояса pi.
geotheory
0

Извините, что поднял старый вопрос; однако недавно я столкнулся с подобной проблемой, и различные ответы здесь предполагают, что нам нужно кое-что прояснить.

Я смог воспроизвести проблему OP, отключив питание и моего маршрутизатора, и RPi, а затем запустив RPi до маршрутизатора. В этих условиях служба NTP не имела доступа в Интернет и, по-видимому, полагается на аппаратные часы. Тздата была верна на момент возникновения проблемы.

введите описание изображения здесь

Перезагрузка RPi после восстановления интернет-соединения решила проблему. Если по какой-либо причине RPi не может или не должен быть выключен, можно перезапустить службу NTP с помощью sudo service ntp restart.

bobthechemist
источник
Просто чтобы прояснить :) У Pi нет аппаратных часов, хотя есть дополнительные платы для их предоставления. Raspbian fake-hwclockпо умолчанию включает в себя пакет, который, если по какой-то причине сетевое время недоступно, перезапускает часы с момента, когда машина была выключена (или некоторое время до этого в случае сбоя питания) при загрузке.
Боб