Como posso alterar a saída de hora de um comando para o formato de 24 horas?

Como posso alterar a saída de hora de um comando para o formato de 24 horas?

Estou trabalhando em um programa que requer uma entrada de hora no formato de 24 horas para uma instrução if...else. Essa entrada é obtida de um comando shell, especificamente lpstat. Agora, seria muito mais conveniente para mim pegar essa entrada no formato de 24 horas, em vez de pegar uma entrada de 12 horas e convertê-la em uma entrada de 24 horas com RegEx.
Para referência, minha saída atual do lpstat é mais ou menos assim:
Deskjet_1050_J410-25    nilanjan          4096   Saturday 29 August 2020 04:56:35 PM
Deskjet_1050_J410-26    nilanjan          4096   Saturday 29 August 2020 06:47:14 PM
Deskjet_1050_J410-27    nilanjan          4096   Saturday 29 August 2020 06:58:34 PM

Nisso, preciso que a parte horária seja em 24 horas.
Por favor, diga-me se o que devo fazer para que a saída de tempo lpstatesteja no formato de 24 horas.

Responder1

Isso deve ser possível definindo a LC_TIMEvariável locale apropriadamente, ex.

$ lpstat -a
CUPS-BRF-Printer accepting requests since Thu 05 Apr 2018 05:36:42 PM EDT
DeskJet-3630 accepting requests since Thu 31 Aug 2017 03:59:12 AM EDT

mas comLC_TIME=C

$ LC_TIME=C lpstat -a
CUPS-BRF-Printer accepting requests since Thu Apr  5 17:36:42 2018
DeskJet-3630 accepting requests since Thu Aug 31 03:59:12 2017

informação relacionada