Linux:如何在现有时间戳bash中添加几秒钟?

时间:2016-09-22 08:10:48

标签: bash

例如:,我有一个名副其实的瓷砖:tt =“Thu 09/22/2016 11:03:55 AM”我需要在bash中为这个时间戳添加几秒钟 当前状态:Thu 09/22/2016 11:03:55

请求状态:星期四09/22/2016 11:04:02 + var 在这种情况下,var将是7秒

感谢您的评论。

1 个答案:

答案 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