例如:,我有一个瓦片如下所示: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
感谢重播,日期返回当前日期,据我所知。 –