shell 输出标准时间格式
输出标准时间格式,注意 date 和 “+” 号之间要有空格。
echo currTime=$(date +"%Y-%m-%d %T")
[root@0612C8BBD13693AF ~]#
[root@0612C8BBD13693AF ~]# echo currTime=$(date +"%Y-%m-%d %T")
currTime=2022-07-08 14:35:13
[root@0612C8BBD13693AF ~]#
取时间
获取当前的时间戳
date '+%s'
1657262355
取得昨天
date -d "yesterday" +"%Y-%m-%d"
30分钟前
date -d "-30 minute" +"%Y-%m-%d %H:%M:%S"
30分钟后
date -d "+30 minute" +"%Y-%m-%d %H:%M:%S"
转换
将时间戳转成日期
date -d '1970-01-01 UTC 946684800 seconds' +"%Y-%m-%d %T %z"
将日期转成时间戳
date -d "2015-08-04 00:00:00" +%s
判断时间
判断时间是不是 0点-8点期间
__func1() {
_is_time=$(date +"%T" | cut -c1-2 | grep '0[0-8]' -c)
if ((_is_time == 1)); then
echo "现在是 0点-8点期间"
else
echo "现在非 0点-8点期间"
fi
}
__func1
判断时间是不是 9点-0点期间
__func1() {
_is_time=$(date +"%T" | cut -c1-2 | grep -E '(09)|(1)|(1[0-9])|(2[0-3])' -c)
if ((_is_time == 1)); then
echo "现在是 9点-23:59分期间"
else
echo "现在非 9点-23:59分期间"
fi
}
__func1