例如:,我有一個瓦片如下所示:tt =「Thu 09/22/2016 11:03:55 AM」,我需要在bash中添加幾秒鐘的時間戳 當前狀態:星期四09 /二千零十六分之二十二11時03分55秒Linux:我如何將幾秒鐘添加到現有的時間戳bash?
請求的狀態:週四2016年9月22日11時04分02秒+ VAR 在這種情況下,VAR將是7秒
感謝您的意見。
例如:,我有一個瓦片如下所示:tt =「Thu 09/22/2016 11:03:55 AM」,我需要在bash中添加幾秒鐘的時間戳 當前狀態:星期四09 /二千零十六分之二十二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
感謝重播,日期返回當前日期,據我所知。 –