2016-09-22 79 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

相关问题