2016-09-22 36 views
-2

例如:,我有一個瓦片如下所示: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秒

感謝您的意見。

+1

使用date命令。 – 123

+0

感謝重播,日期返回當前日期,據我所知。 –

回答

3

您可以使用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 
+0

如果您使用'bash' 4.2或更高版本,則可以使用'printf -v NEW_TT'%(%a%m /%d /%Y%I:%M:%S%p)來避免外部進程T '「$ NEW_EPOCH」'。 – chepner

相關問題