Linuxの日付と時刻を特定の形式に設定しようとするとエラーが発生し続けます。例:
date "+%d-%m-%C%y %H:%M:%S" -d "19-01-2017 00:05:01"
or
date +"%d-%m-%C%y %H:%M:%S" -d "19-01-2017 00:05:01"
引き続き、次のエラーが発生します。
date: invalid date ‘19-01-2017 00:05:01’
答え1
問題は「日付文字列」と同じです"19-01-2017 00:05:01"
。
マニュアルページから:
The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or
"2004-02-29 16:21:42" or even "next Thursday". A date string may contain items indicating calendar date, time of day,
time zone, day of week, relative time, relative date, and numbers.
今、「人が読める最も自由な形式の日付」は少しあいまいで、次のよう19-01-2017
になります。いいえ読むことができます。おそらく同様の状況02-03-2019
(3月2日なのか、2月3日なのか?)では構文解析が不可能かもしれないからだ。
ISO形式に変更してみてください。
$> date "+%d-%m-%C%y %H:%M:%S" -d "2017-01-19 00:05:01"
19-01-2017 00:05:01
o マニュアルページの例と同様の形式を使用します。
$> date "+%d-%m-%C%y %H:%M:%S" -d "19 Jan 2017 00:05:01"
19-01-2017 00:05:01