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 lpstat
im 24-Stunden-Format zu erhalten.
Antwort1
Dies sollte durch LC_TIME
entsprechendes 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