例:tt = "Thu 09/22/2016 11:03:55 AM"のような真実のタイルがあります。このタイムスタンプにbashのタイムスタンプを追加する必要があります 現在のステータス:Thu 09/2016分の22 11時03分55秒Linux:既存のタイムスタンプbashに数秒を追加するにはどうしたらいいですか?
は、ステータスを要求:木2016年9月22日午前11時04分02秒+ VAR は、この場合にはvarが7秒、あなたのコメントの
おかげだろう。
例:tt = "Thu 09/22/2016 11:03:55 AM"のような真実のタイルがあります。このタイムスタンプにbashのタイムスタンプを追加する必要があります 現在のステータス:Thu 09/2016分の22 11時03分55秒Linux:既存のタイムスタンプbashに数秒を追加するにはどうしたらいいですか?
は、ステータスを要求:木2016年9月22日午前11時04分02秒+ VAR は、この場合にはvarが7秒、あなたのコメントの
おかげだろう。
GNU date
コマンドを使用すると、日付文字列をエポック秒間に解析し、時間差を追加してからdate
を再度使用して、エポック秒を人間が判読できる形式に戻すことができます。
#!/bin/bash
OLD_TT="Thu 09/22/2016 11:03:55 AM"
OFFSET=7
EPOCH=$(date --date="$OLD_TT" "+%s")
NEW_EPOCH=$(($EPOCH + $OFFSET))
NEW_TT=$(date --date=\@$NEW_EPOCH "+%a %m/%d/%Y %I:%M:%S %p")
echo "Old Date : $TT"
echo "New Date : $NEW_TT"
出力
Old Date : Thu 09/22/2016 11:03:55 AM
New Date : Thu 09/22/2016 11:04:02 AM
'bash' 4.2以降を使用している場合は、' printf -v NEW_TT 'を使って外部プロセスを避けることができます。%(%a%m /%d /%Y%I:%M:%S%p)T '' $ NEW_EPOCH "'。 – chepner
dateコマンドを使用します。 – 123
リプレイに感謝、日付は私が知っているように現在の日付を返します。 –