bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html


1.1 date命令

date用于获取和设置操作系统的时间,还有hwclock是获取硬件时间。

date有个选项"-d",可以用来描述获取什么时候的时间,描述的方式非常开放,但不能使用"now"关键字,其他的如3天前"3 days ago",3天后"3 days",昨天"yesterday",下周一"next Monday",epoch时间"@EPOCH"等等。

Linux中设置date命令的显示格式:date [+format],其中"+"表示从前面的时间中获取其中的格式部分,如date -d "yesterday" +"%Y"获取的是昨天的年份部分。

format格式如下所示:标红色的较常用。

符号

意义

描述

%y

年(后两位)

last two digits of year (00..99)

%Y

year

%m

month (01..12)

%j

年中天

day of year (001..366)

%d

月中天

day of month (如01)

%w

周中天

day of week (0..6); 0 is Sunday

%u

周中天

day of week (1..7); 1 is Monday

%U

年中周(00-53)

week number of year with Sunday as first day

%W

年中周(00-53)

week number of year with Monday as first day

%H

时(24时制)

hour (00..23)

%I

时(12时制)

hour (01..12)

%M

minute (00..59)

%S

second (00..60)

%N

纳秒

ns of current minute

%s

从1970-01-01到目前时间的秒数总数

完整

格式

%T

完整时间

time; same as %H:%M:%S

%D

日期完整格式

date; same as %m/%d/%y

%F

日期完整格式

date; same as %Y-%m-%d

特殊

格式

%n

换行

a newline

%t

tab键

a tab

[root@xuexi ~]# date +%F
2016-09-25[root@xuexi ~]# date +"%F %T"     # 有空格需要使用双引号或引号来分隔
2016-09-25 10:48:34[root@xuexi ~]# date +"%Y-%m-%d %H:%M:%S"
2016-09-25 10:47:49

使用date命令可以计算时间差。例如:

# 以下3个命令等价
date -d "3 days ago" +%F
date -d "-3 days" +%F
date -d "now  - 3 days" +%F

再例如,给定一个时间,计算它的前几天,后几天。

# 以下两条命令等价
date -d "2018-02-19 3 days ago" +%F
date -d "2018-02-19 - 3 days" +%F

给定一个日期,计算该日期所在星期的星期一是几月几号。例如,2018-05-12是星期六,那么星期一是2018-05-07。

#!/bin/bash
src_date="2018-05-12"
src_weekday=`date -d $src_date +%w`
Mon_date=`date -d "$src_date - $(( src_weekday - 1 )) days" +%F`
echo $Mon_date

date命令还可以计算延迟时间(两个时间点的时间差)。如果要计算精确度为秒级的延迟,可直接使用%s计算,但如果要计算毫秒级、微秒级甚至是纳秒级的时间差,则需要对date的结果进行一番计算和转换。以下是秒级时间差计算方法,毫秒级计算方法见:计算毫秒级、微秒级时间差。

#!/bin/bash
start_time=$(date +"%s")
find / -type f -name "*.db" &>/dev/null
end_time=$(date +"%s")
time_diff=$(( start_time - end_time ))
echo $time_diff

1.2 sleep和usleep

在shell中常使用sleep命令指定休眠时间,休眠的意思表示让当前进程进入睡眠状态。例如:

sleep 5

sleep默认的休眠单位为秒,因此上面表示休眠5秒钟。如果要休眠毫秒级、微秒级,则可以使用小数。例如:

sleep 0.5

表示休眠半秒钟。

此外,还有专门的微秒级的休眠命令usleep。例如:

usleep 1000

表示休眠1000微秒,即1毫秒。

转载于:https://www.cnblogs.com/f-ck-need-u/p/7427262.html

date、sleep和usleep命令相关推荐

  1. linux usleep函数 sleep,LINUX实操:date、sleep和usleep命令

    搜索热词 <LINUX实操:date.sleep和usleep命令>要点: 本文介绍了LINUX实操:date.sleep和usleep命令,希望对您有用.如果有疑问,可以联系我们. 1. ...

  2. linux命令date的功能,Linux 命令date

    1.命令名称(Command Name): data 2.命令作用(Command Function): 打印或设置系统日期和时间(print or set the system date and t ...

  3. linux date 时间同步,Linux date 时间设置同步命令分享

    Linux date 时间设置同步命令分享,时间,命令,硬件,系统,服务器 Linux date 时间设置同步命令分享 易采站长站,站长之家为您整理了Linux date 时间设置同步命令分享的相关内 ...

  4. shell sleep毫秒_Shell脚本之date、sleep、usleep命令

    1.1 date命令 date用于获取和设置操作系统的时间,还有hwclock是获取硬件时间. date有个选项"-d",可以用来描述获取什么时候的时间,描述的方式非常开放,但不能 ...

  5. mysql usleep_date、sleep和usleep命令

    1.1 date命令 date用于获取和设置操作系统的时间,还有hwclock是获取硬件时间. date有个选项"-d",可以用来描述获取什么时候的时间,描述的方式非常开放,但不能 ...

  6. linux中date使用方法,linux命令详解date使用方法(计算母亲节和父亲节日期脚本示例)...

    linux命令详解date使用方法(计算母亲节和父亲节日期脚本示例) 发布于 2016-02-07 15:58:40 | 108 次阅读 | 评论: 0 | 来源: 网友投递 LinuxLinux是一 ...

  7. linux date使用方法,linux命令详解date使用方法(计算母亲节和父亲节日期脚本示例)...

    常用参数 格式:date 显示当前日期时间. 格式:date mmddhhmm           # 简而言之,就是"月日时分" 格式:date mmddhhmmyyyy 格式: ...

  8. 我使用过的Linux命令之usleep - 延迟以微秒为单位的时间

    我使用过的Linux命令之usleep - 延迟以微秒为单位的时间 本文链接:http://codingstandards.iteye.com/blog/1007783   (转载请注明出处) 用途说 ...

  9. 每天一个Linux命令之date

    在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便. 1.命令格式: date [参数 ...

最新文章

  1. mysql--常用基础命令
  2. lambda--整理的部分网络博文
  3. 论文推荐 | 2018中国卫星导航年会论文集
  4. hibernate关联映射_具有关联映射的Hibernate Composite ID
  5. Spring Cloud构建微服务架构:服务网关(基础)【Dalston版】
  6. 文件流——Excel文件数据读写
  7. linux下tomcat ssl证书,Tomcat部署ssl证书(Linux)
  8. ReportServer中,要配置远程可登录帐号
  9. 北京赛区参赛选手代表吴翼在开幕式上的发言稿完整版2011年11月02日 09:50:34
  10. Cannot detect Web Project version. Please specify version of Web Project through Maven project ...报错
  11. Matlab2017b安装教程及破解失败方法
  12. 【考试】2019.3计算机等级考试所有科目
  13. 基于微信小程序的智能停车场管理系统的研究与设计
  14. 嵌入式linux开发环境搭建(VMware16.0.0+Ubuntu16.04.3_X64)
  15. 直接激光雷达里程计:基于稠密点云的快速定位
  16. 网站识别Windows AD 域账号,并自动登录
  17. 【Python】【教程】Python 教程
  18. 多线程——问题引出以及解决方法
  19. SpringMVC一:概述、环境搭建及开发流程
  20. JavaSE进阶318-331 构造方法习题

热门文章

  1. mysql dump gtid_mysqldump GTID搭建主从复制库
  2. 透过率和反射率的关系_全国本科率只有不到百分之五?!醒醒吧!
  3. python自动化办公第二节_自动化测试第二节-jmeter关联+抓包+python基础
  4. ckfinder 图片预览 有的显示有的不显示_Python学习之图片显示
  5. 宽高自适应_css样式写出三角形,宽高自适应的正方形,扇形!
  6. java 动态添加定时器_Spring整合Quartz实现动态定时器的示例代码
  7. python random 和numpy random_Python中numpy.random和random.random之间的区别
  8. mybatis generator 中文注释_mybatis代码生成器,提高开发效率
  9. tkmybatis 子查询_日均20亿流量:携程机票查询系统的架构升级
  10. office 2007 oracle 9,office2007win10版下载