epochタイムスタンプで文字列日付を変換する正しい構文が見つかりません。
スクリプトは次のとおりです。
date -d '2012-03-02 22:00 EDT' +%s
DATEJ=`echo -n \'2012-03-02 22:00\'`
echo $DATEJ
date -d $DATEJ EDT +%s
明らかにする
[gg@raspi8 ~]$ CNVDATTS
1330740000
'2012-03-02 22:00'
date: opérande supplémentaire « EDT »
Saisissez « date --help » pour plus d'informations.
何が問題なの?
変数がDATEJ
最初の行の文字列と同じ値を提供していないようです。を書かないとEDT
エラーは同じですが、言及してください+%s
。
ベストアンサー1
ここで問題は一重引用符のようです。$DATEJ
。あなたの変数はこれを課します。
それに変える
DATEJ=`echo -n "2012-03-02 22:00"`
そして最後のコマンドで:
date -d "$DATEJ EDT" +%s
これは働きます:
$ date -d '2012-03-02 22:00 EDT' +%s
1330740000
$ DATEJ=`echo -n "2012-03-02 22:00"`
$ echo $DATEJ
2012-03-02 22:00
$ date -d "$DATEJ EDT" +%s
1330740000
編集する
echo
実際にスクリプトが強制的に指定しない限り、日付は必要ありません。$DATEJ
単に次のように表現できます
DATEJ="2012-03-02 22:00"