我想將日期轉換像轉換MM-DD-YY MM:SS,以YY-MM-DD MM:SS
12-24-11 13:37
(MM-DD-YY MM:SS)以
11-12-24 13:37
(YY-MM-DD MM:SS)
有沒有辦法做到這一點?
我想將日期轉換像轉換MM-DD-YY MM:SS,以YY-MM-DD MM:SS
12-24-11 13:37
(MM-DD-YY MM:SS)以
11-12-24 13:37
(YY-MM-DD MM:SS)
有沒有辦法做到這一點?
sed的救援:
$ echo 12-24-11 13:37 | sed 's#^\([0-9\-]\{5\}\)-\([0-9]\{2\}\)#\2-\1#'
11-12-24 13:37
沒有使用sed需要。
#!/bin/sh
input="12-24-11 13:37";
month="${input%%-*}";
input="${input#*-}";
day="${input%%-*}";
input="${input#*-}";
year="${input%% *}";
input="${input#* }";
echo "$year-$month-$day $input";
但是,如果你想使用外部工具,還不如用一用一短正則表達式
echo 12-24-11 13:37 | perl -pe 's/(.+)-(.+) /$2-$1 /'
我在perl版本中轉換'$ 2'和'$ 1',因爲它否則是NOP。 – phihag 2011-12-24 13:02:58
據我所知,'date'可以只打印當前日期,或*設置*一個新的約會。 OP想要格式化現有的日期。 – phihag 2011-12-24 12:54:37
@phihag如果OP使用日期,那麼他的日期調用將包含+(生成%m-%d-%Y),或者他的輸入將類似於「Sat Dec 24」(不是%m-% d-%Y):) – 2011-12-24 13:00:00
@php:從技術上講,'date' * *通常可以打印任意日期。 GNU日期爲此使用'-d'標誌,BSD日期使用'-r'和'-v'。 – GreyCat 2011-12-26 01:17:42