Bash:将日期偏移 n 秒

Bash:将日期偏移 n 秒

我正在尝试以以下格式偏移时间。我无法实现此功能。有什么建议吗?

这不管用

DATE0="26Sep21 06:10:14"
DATE1=$(date -d "$DATE0 + 1 seconds"  +'%d%b%y %H:%M:%S'); 
echo $DATE1

这也不起作用

n=10
DATE0="26Sep21 06:10:14"
DATE1=$(date -d "$DATE0 + $n seconds"  +'%d%b%y %H:%M:%S'); 
echo $DATE1

答案1

# Init
n=10
DATE0="26Sep21 06:10:14"

# Seconds since 01/01/1970
SECONDS=$(date +%s --date "${DATE0}")

# Add seconds
SECONDS=$(( SECONDS + n ))

# Reformat seconds
DATE1=$(date --date "@${SECONDS}" +'%d%b%y %H:%M:%S')

一条线:

# Init
n=10
DATE0="26Sep21 06:10:14"

# Compute
DATE1=$(date --date "@$(( $(date +%s --date "${DATE0}") + n ))" +'%d%b%y %H:%M:%S')

相关内容