ユーザーが入力した日付をに変換する方法はyyyy/mm/dd
?
20120121
たとえば、ユーザーは2012-01-21
などの形式のいずれかで日付を入力できます01/21/2012
。01/21/2012
ただし、ユーザーが入力した日付をyyyy/mm/dd
(2012/01/2012)に変換する必要があります。どのように?
これは私が使っているスクリプトですが、うまくいきません。
echo "Please enter the date: "
read X
a=$X+"%y/%m/%d"
echo $a
答え1
以下はいくつかの方法ですが、競合に注意してください。
[ 0:26:00 ] afsin@s15426859:~ % date --date='12/12/12'
Mi 12. Dez 00:00:00 CET 2012
[ 0:26:14 ] afsin@s15426859:~ % date --date='12/12/2012'
Mi 12. Dez 00:00:00 CET 2012
[ 0:26:24 ] afsin@s15426859:~ % date --date='2012/12/11'
Di 11. Dez 00:00:00 CET 2012
[ 0:26:37 ] afsin@s15426859:~ % date --date='2012/11/12'
Mo 12. Nov 00:00:00 CET 2012
[ 0:26:47 ] afsin@s15426859:~ % date --date='2012/11/30'
Fr 30. Nov 00:00:00 CET 2012
[ 0:27:00 ] afsin@s15426859:~ % date --date='2012-11-30'
Fr 30. Nov 00:00:00 CET 2012
[ 0:27:17 ] afsin@s15426859:~ % date --date='2012-11-12'
Mo 12. Nov 00:00:00 CET 2012
[ 0:27:24 ] afsin@s15426859:~ % date --date='2012-12-11'
Di 11. Dez 00:00:00 CET 2012
次に、スクリプトで次を使用します。
date --date=$X '+%y/%m/d'
or
a=`date --date=$X '+%y/%m/d'`
echo $a
;-)
しかし、11-11-12 2011-11-12や11.11.2012などの衝突に注意する必要がありますか?ユーザーが何を意味するのかを理解するのは複雑です;-))