Я хочу изменить часы с 12-часового на 24-часовой режим через терминал

Итак, я ищу команду для изменения с 12 часов на 24 часа. Есть ли вообще такая команда? Я имею в виду, что я могу сделать это с графическим интерфейсом, но мне нужно сделать это через терминал, чтобы я мог поместить это в сценарий bash.

Здесь я хочу вместо 12-часового формата 24-часовой формат.

Вы имеете в виду конвертировать заданное время? Или изменить настройки отображения системного времени? Или что-то другое?
Я хочу изменить настройки отображения системного времени (чтобы время отображалось вверху справа). Я добавлю это, чтобы сделать мой вопрос более ясным.

Ответы (1)

Это хранится в plist, расположенном ~/Library/Preferences/com.apple.menuextra.clockпод ключом DateFormat.

Вот краткое руководство:

  • 12-часовой режим с AM/PM:

    EEE MMM d h:mm:ss a

  • 12-часовой режим без AM/PM:

    EEE MMM d h:mm:ss

  • 24-часовой режим:

    EEE MMM d H:mm:ss

Чтобы применить любую из этих строк форматирования, вы можете использовать defaultsкоманду в терминале или, если вы ищете более программируемый метод, вы можете использовать директиву do shell script1 в Applescript.

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

defaults write com.apple.menuextra.clock DateFormat -string 'EEE MMM d  H:mm:ss'

Замените строку между кавычками на нужную версию сверху.

Чтобы изменения вступили в силу немедленно, kill -SIGHUP SystemUIServerбудет достаточно. В противном случае они вступят в силу при следующем выходе из системы и повторном входе или перезапуске.


1 CyberCiti Primer по написанию сценариев оболочки через Applescript

У меня не работает на Yosemite 10.10.3. После выхода из системы и повторного входа в систему DateFormat сбрасывается.
Так что это действительно работает для вас, это просто не сохраняется.
Изменения можно внести немедленно, перезапустив SystemUIServer. Я отредактировал сообщение, чтобы отразить это.