[linux]:shell编程之如何进行日期时分秒的加减?
有一个非常简单的办法能够解决这个问题,那就是通过时间序列的办法。要知道所有时间都能够化成秒,所以我们的原理就是(时间化成秒)—-》(加减秒)—-》(加减完的秒时间然后再化成格式化的时间)具体代码如下:功能为在1990-01-01 01:01:01这个时间基础上加上1个小时20分钟,思路为先把时间化成秒,然后加上1个小时二十分钟所对应的秒,然后再格式化时间#!/bin/bashtime1=$(d
·
有一个非常简单的办法能够解决这个问题,那就是通过时间序列的办法。
要知道所有时间都能够化成秒,所以我们的原理就是
(时间化成秒)—-》(加减秒)—-》(加减完的秒时间然后再化成格式化的时间)
具体代码如下:
功能为在1990-01-01 01:01:01这个时间基础上加上1个小时20分钟,思路为先把时间化成秒,然后加上1个小时二十分钟所对应的秒,然后再格式化时间
#!/bin/bash
time1=$(date +%s -d '1990-01-01 01:01:01') #将时间化为秒
time2=$((1*60*60+20*60)) #一个小时二十分钟所对应的秒
time1=$(($time1+$time2)) #加上一个小时二十分钟
time1=$(date +%Y-%m-%d\ %H:%M:%S -d "1970-01-01 UTC $time1 seconds");#格式化时间
echo "时间为"+$time1
总结
如果是减去某个时间的话,就把把加号换成减号就可以了。这个事情比较有通用性,因为无论是加减分钟还是小时还是秒,都可以统一的化成秒然后对应起来了。
更多推荐
已为社区贡献1条内容
所有评论(0)