日付:Linuxの日付を特定の形式にフォーマットするための誤った試み。

日付:Linuxの日付を特定の形式にフォーマットするための誤った試み。

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

おすすめ記事