1409 Stimmen

Datum im Format JJJJ-MM-TT in Shell-Skript

Ich habe es mit $(date) in meinem Bash-Shell-Skript, aber ich möchte das Datum in YYYY-MM-DD Format.
Wie kann ich das bekommen?

12 Stimmen

Die Kommentare müssen mindestens 15 Wörter lang sein. Datum -I

18 Stimmen

In der Tat date -I ist alles, was Sie brauchen. Ich habe Jahre gebraucht, um darauf zu stoßen.

5 Stimmen

date -I funktioniert nur unter Linux mit GNU-Tools, nicht unter macOS / BSD; die Installation von Gebräu --> brew install coreutils macht gdate -I verfügbar

7voto

arp Punkte 279

Wann immer ich eine Aufgabe wie diese habe, falle ich zurück auf

$ man strftime

um mich an die vielen Möglichkeiten der Zeitformatierung zu erinnern.

7voto

Anto Punkte 2132

Ich habe die folgende Methode verwendet. Danke für alle Methoden/Antworten

ubuntu@apj:/tmp$ datevar=$(date +'%Y-%m-%d : %H-%M')
ubuntu@apj:/tmp$ echo $datevar
2022-03-31 : 10-48

7voto

Abdallah_98 Punkte 1223

Versuchen Sie, diesen Befehl zu verwenden:

date | cut -d " " -f2-4 | tr " " "-" 

Die Ausgabe würde wie folgt aussehen: 21-Feb-2021

6voto

ankitbaldua Punkte 253
#!/bin/bash -e

x='2018-01-18 10:00:00'
a=$(date -d "$x")
b=$(date -d "$a 10 min" "+%Y-%m-%d %H:%M:%S")
c=$(date -d "$b 10 min" "+%Y-%m-%d %H:%M:%S")
#date -d "$a 30 min" "+%Y-%m-%d %H:%M:%S"

echo Entered Date is $x
echo Second Date is $b
echo Third Date is $c

Hier x ist Beispiel Datum verwendet & dann Beispiel zeigt sowohl die Formatierung von Daten als auch immer Daten 10 Minuten mehr als aktuelle Datum.

0voto

Farid Haq Punkte 2865

Sie können das Datum als Umgebungsvariable festlegen und es später verwenden

setenv DATE `date "+%Y-%m-%d"`
echo "----------- ${DATE} -------------"

ou

DATE =`date "+%Y-%m-%d"`
echo "----------- ${DATE} -------------"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X