1003-获取、设置日期和延时

1、介绍
需要以不同的格式打印日期、设置日期和时间、根据日期和时间执行操作。
延时通常用于程序执行过程中提供一段等待时间(比如1秒)。
例如需要在脚本中对某项任务每隔5秒监视一次,就需要知道如何在程序中加入延时。

在Unix系统中,日期被存储成一个整数,其大小为自世界标准UTC1970年1月1日0时0分0秒起所流逝的秒数。
这种计时方式称为纪元时间。
2、读取日期
date
3、打印纪元时
date +%s
可以给定格式的日期串中得出对应的纪年时,在输入时有多种日期格式可供选择。
date --date "Thu Nov 18 08:07:21 IST 2010" +%s
选项--date用于提供日期串作为输入。
注:我们可以使用任意的日期格式选项来打印输出。将日期串作为输入够用来获取给定的日期是星期几。
date --date "Jan 20 2001" +%A
如:日期格式字符串列表:

日期内容 格式

星期 %a (for example, Sat)
%A (for example, Saturday)
月 %b (for example, Nov)
%B (for example, November)
日 %d (for example, 31)
固定格式日期(mm/dd/yy) Date in format (mm/dd/yy) %D (for example, 10/18/10)
年 %y (for example, 10)
%Y (for example, 2010)
小时 %I or %H (For example, 08)
分钟 %M (for example, 33)
秒钟 %S (for example, 10)
纳秒 %N (for example, 695208515)
Unix纪元时(以秒为单位) %s (for example, 1290049486)

4、用格式串结合+作为date命令的参数,可以按照你的选择打印出对应的格式日期。
$ date "+%d %B %Y"
20 May 2010
5、设置日期和时间
date -s "格式化的日期字符串"
例如:
date -s "21 June 2009 11:01:22"
6、需要检查一组命令所花费的时间,可以使用如下的代码
#!/bin/bash
#Filename: time_take.sh
start=$(date +%s)
commands;
statements;
end=$(date +%s)
difference=$(( end - start))
echo Time taken to execute commands is $difference seconds.

7、在编写以循环方式运行的监视脚本时,设置时间间隔是必不可少的。
在脚本中生成延时
#!/bin/bash
#Filename: sleep.sh
echo -n Count:
#存储光标位置
tput sc

#初始值为0
count=0;
while true;
do
if [ $count -lt 40 ];
then
let count++;
#循环内的1秒钟延迟
sleep 1;
#恢复光标位置命令
tput rc
#清除从当前光标位置到行尾之间的所有内容,使用旧的count值可以被清除并写入新值
tput ed
echo -n $count;
else exit 0;
fi
done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值