我正在尝试以以下格式偏移时间。我无法实现此功能。有什么建议吗?
这不管用
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')