次のエラーが発生します。
date: invalid date '23/07/2021 14:44'
このコードを実行すると
start="23/07/2021 14:44"
startSec=`date +%s -d "${start}"`
私も試しました
start="23/07/2021 14:44"
startSec=`date -d "${start}" +%s`
文字列日付 ($start) を '%d/%m/%Y %H:%M' 形式で指定して秒に変換するにはどうすればよいですか。
ありがとうございます。
ベストアンサー1
文字列操作を使用して入力をdate
。
または、Perlでは正確な入力形式を指定する必要があります。
start='23/07/2021 14:44'
perl -MTime::Piece -sE '
say Time::Piece->strptime($input, "%d/%m/%Y %H:%M")->epoch
' -- -input="$start"
1627051440
文字列操作:文字をフィールドターミネータとしてread
使用し、文字列を変数に分割するために使用します。$IFS
start='23/07/2021 14:44'
IFS='/ ' read -r day month year time <<<"$start"
date -d "$year-$month-$day $time"
Fri Jul 23 14:44:00 EDT 2021
<<<
これには文字列リダイレクトというbashismがあります。より多くのPOSIXシェルを見るには:
IFS='/ ' read -r day month year time <<END_START
$start
END_START