Quiero cambiar el reloj de modo 12h a 24h vía terminal

Entonces estoy buscando el comando para cambiar de 12h a 24h. ¿Existe incluso tal comando? Quiero decir que puedo hacerlo con la GUI, pero necesito poder hacerlo a través de la terminal para poder ponerlo en un script bash.

Aquí quiero en lugar del formato de 12h un formato de 24h.

¿Quiere decir convertir un tiempo dado? ¿O alterar la preferencia de visualización de la hora del sistema? ¿O algo mas?
Quiero modificar la preferencia de visualización de la hora de mi sistema (para que la hora se muestre en la parte superior derecha). Agregaré esto para aclarar mi pregunta.

Respuestas (1)

Esto se almacena en el plist ubicado ~/Library/Preferences/com.apple.menuextra.clockdebajo de la tecla DateFormat.

Aquí hay una introducción rápida:

  • Modo de 12 horas con AM/PM:

    EEE MMM d h:mm:ss a

  • Modo de 12 horas sin AM/PM:

    EEE MMM d h:mm:ss

  • Modo de 24 horas:

    EEE MMM d H:mm:ss

Para aplicar cualquiera de estas cadenas de formato, puede usar el defaultscomando en la Terminal o, si está buscando un método más programable, puede usar la directiva do shell script1 dentro de Applescript.

Para aplicarlos a través de la Terminal, ábrala y ejecute el siguiente comando:

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

Sustituya la cadena entre comillas con la versión anterior que desee.

Para que los cambios surtan efecto de inmediato, kill -SIGHUP SystemUIServerbastará. De lo contrario, surtirán efecto la próxima vez que cierre sesión y vuelva a iniciarla o reinicie.


1 CyberCiti Primer sobre Shell Scripting a través de Applescript

No me funciona en Yosemite 10.10.3. Después de cerrar sesión y volver a iniciar sesión, se restablece DateFormat.
Entonces funciona para ti, simplemente no persiste.
Los cambios se pueden realizar inmediatamente reiniciando SystemUIServer. He editado la publicación para reflejar eso.