Есть ли быстрый способ переключить системный часовой пояс из командной строки?

Обычно я делаю это через панель «Системные настройки» для даты и времени, но мне нужен более быстрый способ сделать это, если он есть.

Ответы (2)

Используйте следующую команду терминала:

sudo systemsetup -settimezone timezone

Для списка допустимых timezoneзначений используйте sudo systemsetup -listtimezones.

Чтобы получить текущий часовой пояс, используйте:

sudo systemsetup -gettimezone
И просто для записи, вы также можете получить текущий часовой пояс, выполнив sudo systemsetup -gettimezone.
есть ли способ получить часовой пояс без рута?
Как я могу обновить источник NTP из CLI?
К сожалению, это не работает для меня. Вроде изменяет его (говорит Set TimeZone: America/New_Yorkи возвращает код выхода 0), но потом sudo systemsetup -gettimezoneвозвращает предыдущее значение ( Time Zone: America/Los_Angeles).
Чтобы получить часовой пояс без sudo, используйте date +"%Z %z". Это отображает что-то вроде EDT -0400, верхний регистр z выводит аббревиатуру TZ, нижний регистр смещение UTC.

Кроме того:

Печать случайного часового пояса :

ruby -e "puts `sudo systemsetup -listtimezones`.lines.sample.strip"

Установка случайного часового пояса :

sudo systemsetup -settimezone (ruby -e "puts `sudo systemsetup -listtimezones`.lines.sample.strip")

Поиск часового пояса (например, содержащий «Los» в этом случае):

sudo printf ''; sudo systemsetup -listtimezones | grep Los