Wie kann ich die Zeitausgabe eines Befehls in das 24-Stunden-Format ändern?

Wie kann ich die Zeitausgabe eines Befehls in das 24-Stunden-Format ändern?

Ich arbeite an einem Programm, das für eine if...else-Anweisung eine Zeiteingabe im 24-Stunden-Format erfordert. Es nimmt diese Eingabe von einem Shell-Befehl, nämlich lpstat. Nun wäre es für mich viel bequemer, diese Eingabe im 24-Stunden-Format zu nehmen, als eine 12-Stunden-Eingabe zu nehmen und sie mit RegEx in eine 24-Stunden-Eingabe umzuwandeln.
Zur Referenz sieht meine aktuelle lpstat-Ausgabe ungefähr so ​​aus:
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

Dabei muss der Zeitteil im 24-Stunden-Format sein.
Bitte sagen Sie mir, was ich tun muss, um die Zeitausgabe lpstatim 24-Stunden-Format zu erhalten.

Antwort1

Dies sollte durch LC_TIMEentsprechendes Setzen der Gebietsschemavariable möglich sein, z. B.

$ 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

aber mitLC_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

verwandte Informationen