Linux: Datum cmd akzeptiert keine eigene Ausgabezeichenfolge als Eingabezeichenfolge?

260
user3182532
$ date Mi 14. Jun 09:54:58 CEST 2017  $ date -d "Mi 14. Jun 09:54:58 CEST 2017" +%s date: invalid date ‘Mi 14. Jun 09:54:58 CEST 2017’ 

Warum akzeptiert der Date-Befehl nicht seine eigene Ausgabezeichenfolge als gültige Eingabezeichenfolge?

0

1 Antwort auf die Frage

1
Kamil Maciorowski

info datesagte mir, dass diese -dOption eine Eingabe in einem von der Locale unabhängigen Format erfordert. Um die Ausgabe in einem solchen Format zu erhalten, verwenden Sie:

LC_TIME=C date 

Also sollte folgendes funktionieren:

date -d "$(LC_TIME=C date)" +%s 

Es ist nur ein umständliches Beispiel, das ein wenig Sinn hat (vergleiche date +%s), aber es zeigt, dass dateseine Ausgabe als Eingabe akzeptiert wird.


Trivia: Verwenden Sie, um die meisten Befehle zur Erzeugung einer locale-unabhängigen Ausgabe zu veranlassen LANG=C some_command. Im obigen Beispiel LANG=C datesollte auch funktionieren.

genial, Danke! Ich habe gerade etwas über diese Umgebungsvariable gelesen, das ist sehr nützlich. Problem gelöst, danke (auch für die zusätzlichen Infos zu LANG) user3182532 vor 6 Jahren 0
genial, Danke! Ich habe gerade etwas über diese Umgebungsvariable gelesen, das ist sehr nützlich. Problem gelöst, danke (auch für die zusätzlichen Infos zu LANG) user3182532 vor 6 Jahren 0