Wie konvertiere ich das Datumsformat für zwei Datums- und Uhrzeitangaben in Bash?
Ich muss die Datumszeit von @ konvertier"Apr 10 16 07:03:04"
format to"\[10\/12\/16 07:03:04 BST]"
Format. Ich benutze die folgende Funktion.
convert_date () {
local months=( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec )
local i
for (( i=0; i<11; i++ )); do
[[ $1 = ${months[$i]} ]] && [[ $5 = ${months[$i]} ]] && break
done
printf "\[%2d\/%02d\/%02d $4 BST]\n" $2 $(( i+1 )) $3
printf "\[%2d\/%02d\/%02d $8 BST]\n" $6 $(( i+1 )) $7
}
d=$( convert_date $1 $2 $3 $4 )
e=$( convert_date $5 $6 $7 $8 )
echo $d
echo $e
Wo meine Eingabe sein wird
./date.sh Apr 10 16 07:03:04 May 12 16 08:11:09
und meine Ausgabe sollte @ se
\[10\/12\/16 07:03:04 BST]
\[12\/12\/16 08:11:09 BST]
Aber ich erhalte die folgende Ausgabe wie:
\[10\/12\/16 07:03:04 BST] \[12\/00\/00 BST]
\[12\/12\/16 08:11:09 BST] \[12\/00\/00 BST]
Wie erhalte ich die genaue Ausgabe? Bitte um Hilfe.