質問: **この質問の回答はすでにここにあります**: シェルを使ってyyyymmdd形式の変数をunixtimeに変換したい。 (2 件の回答) 昨年 にクローズされました。 シェルの時間文字列(yyyymmddhhMM)を(yyyy-mm-dd hh:MM)のフォーマットに直したいですがうまくいかないです。 時刻を表現している文字列「201901010310」をdateフォーマッテング関数を使っても表示が出てくれません。 以下のコードで何が間違ってフォーマッティングがうまくいってないのかご指摘いただけますと幸いです。 ``` nengou_i=201901010310 echo `date "+%Y-%m-%d %H:%M" --date "${nengou_i}"` ``` 結果 20190101-03-10 00:00:00 本当は以下のように出したい。 2019-01-01 03:10
回答: `nengou_i`が数値のみでは20190101年の03月10日と解釈されてしまうので、時刻の前に空白を入れてあげる必要があります。 変数に代入するときに空白を入れることが出来ない場合、以前された シェルを使ってyyyymmdd形式の変数をunixtimeに変換したい。 という質問へのakira-ejiriさんの回答が役に立つと思います。