
date +%Y%m%d%H%M%S -d "`date +%Y%m%d` +695 second"
加上695秒之后结果是20121218001135 零点11分35秒。
这里695你自己换自己需要的,也可以做成$参数。
注意:"`date 这里双引号右边是反引号,也就是Tab上面那个键,我不知道你的Linux水平,所以提示一下。
更改Linux系统的日期和时间方法一: Date 命令在 Linux 中, 你可以通过 date 命令来更改系统的日期和时间:
# date --set=‘NEW_DATE’
其中 NEW_DATE 是诸如 “Sun, 28 Sep 2014 16:21:42” 或者 “2014-09-29 16:21:42” 的可读格式的日期字符串。
日期格式也可以手动指定以获得更精确的结果:
# date +FORMAT --set=‘NEW_DATE’
例如:
# date +’%Y%m%d %H%m’ --set=‘20140928 1518’
你也可以用相对的方式地增加或减少一定的天数,周数,月数和秒数,分钟数,小时数。 你也可以把日期和时间的参数放到一个命令中。
# date --set=‘+5 minutes’# date --set=‘-2 weeks’# date --set=‘+3 months’# date --set=‘-3 months +2 weeks -5 minutes’
最后, 把硬件时钟设置为当前系统时钟:
# hwclock --systohc
运行 hwclock --systohc 的目的是将硬件时钟同软件时钟同步, 这可以更正硬件时钟的系统漂移(即时钟按照一定的速度走快或走慢)。
另一方面, 如果硬件时钟是正确的, 但系统时钟有误, 可以用下面的命令更正:
# hwclock --hctosys
在两种情况下, hwclock 命令都是将两个时钟同步。 否则, 重启后时间会是错误的, 因为当电源关闭时硬件时钟会记忆时间。 然而, 这对于虚拟机器并不适用, 因为虚拟机器并不能访问硬件时钟。
1、获取当前时间 并格式化 比如 date +'%F %T'2、日期的二 则运算
GNU date 的日期加减运算是支持自然语言的,主要有三种指令:
last/next指令
ago指令
负数指令
比如 date -I &&date -I -d'last sunday -7 days'
3、字符串转换为日期、指定时间格式 比如date -d'31/Oct/2013:00:00:10 +0800' +'%F %T'
4、注 意时区问题
date 里面时间的 + - 注意格式会影响结果/时区(最安全的写法是不要带符号,用自然语言即可):
5、最后的技能:
(1)当 %H%M 遇上 [[ ]]
请看下面这段代码,很多人估计会犯的错误:
[[ `date +'%H%M'` -eq 0 ]]
恭喜你,你每天早上的 8、9 点执行脚本的话都会遇到:
value too great for base (error token is "0950") 这样的错误,
这是因为 [[]] 把 0950 当成 8 进制来解析了,所以抛异常了。
解决办法有如下 3 种,可以选择你认为最爽的一种修复:
(1.1)换成 [ 0 -eq 0950 ] &&echo 1 即可
(1.2)或者手动指定进制也行 [[ 950 -eq 10#0950 ]] &&echo 1
(1.3)让 '%H%M' 这种格式不带前导符 0:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)