1、命令:date

2、命令功能:date 可以用来显示或设定系统的日期与时间。

3、命令参数

  1. -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
  2. -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
  3. -u:显示GMT
  4. --help:在线帮助;
  5. --version:显示版本信息。

4、日期格式字符串列表

  1. %H 小时(以00-23来表示)。
  2. %I 小时(以01-12来表示)。
  3. %K 小时(以0-23来表示)。
  4. %l 小时(以0-12来表示)。
  5. %M 分钟(以00-59来表示)。
  6. %P AMPM
  7. %r 时间(含时分秒,小时以12小时AM/PM来表示)。
  8. %s 总秒数。起算时间为1970-01-01 00:00:00 UTC
  9. %S 秒(以本地的惯用法来表示)。
  10. %T 时间(含时分秒,小时以24小时制来表示)。
  11. %X 时间(以本地的惯用法来表示)。
  12. %Z 市区。
  13. %a 星期的缩写。
  14. %A 星期的完整名称。
  15. %b 月份英文名的缩写。
  16. %B 月份的完整英文名称。
  17. %c 日期与时间。只输入date指令也会显示同样的结果。
  18. %d 日期(以01-31来表示)。
  19. %D 日期(含年月日)。
  20. %j 该年中的第几天。
  21. %m 月份(以01-12来表示)。
  22. %U 该年中的周数。
  23. %w 该周的天数,0代表周日,1代表周一,异词类推。
  24. %x 日期(以本地的惯用法来表示)。
  25. %y 年份(以00-99来表示)。
  26. %Y 年份(以四位数来表示)。
  27. %n 在显示时,插入新的一行。
  28. %t 在显示时,插入tab
  29. MM 月份(必要)
  30. DD 日期(必要)
  31. hh 小时(必要)
  32. mm 分钟(必要)
  33. ss 秒(选择性)

5、实例

格式化输出:

  1. date +"%Y-%m-%d"
  2. 2015-12-07

输出昨天日期:

  1. date -d "1 day ago" +"%Y-%m-%d"
  2. 2015-11-19

2秒后输出:

  1. date -d "2 second" +"%Y-%m-%d %H:%M.%S"
  2. 2015-11-20 14:21.31

传说中的 1234567890 秒:

  1. date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%m:%S"
  2. 2009-02-13 23:02:30

普通转格式:

  1. date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S"
  2. 2009/12/12 00:00.00

apache格式转换:

  1. date -d "Dec 5, 2009 12:00:37 AM" +"%Y-%m-%d %H:%M.%S"
  2. 2009-12-05 00:00.37

格式转换后时间:

  1. date -d "Dec 5, 2009 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"
  2. 2007-12-05 00:00.37

加减操作:

  1. date +%Y%m%d #显示前天年月日
  2. date -d "+1 day" +%Y%m%d #显示前一天的日期
  3. date -d "-1 day" +%Y%m%d #显示后一天的日期
  4. date -d "-1 month" +%Y%m%d #显示上一月的日期
  5. date -d "+1 month" +%Y%m%d #显示下一月的日期
  6. date -d "-1 year" +%Y%m%d #显示前一年的日期
  7. date -d "+1 year" +%Y%m%d #显示下一年的日期

设定时间:

  1. date -s #设置当前时间,只有root权限才能设置,其他只能查看
  2. date -s 20120523 #设置成20120523,这样会把具体时间设置成空00:00:00
  3. date -s 01:01:01 #设置具体时间,不会对日期做更改
  4. date -s "01:01:01 2012-05-23" #这样可以设置全部时间
  5. date -s "01:01:01 20120523" #这样可以设置全部时间
  6. date -s "2012-05-23 01:01:01" #这样可以设置全部时间
  7. date -s "20120523 01:01:01" #这样可以设置全部时间

检查一组命令花费的时间:

  1. #!/bin/bash
  2. start=$(date +%s)
  3. nmap man.linuxde.net &> /dev/null
  4. end=$(date +%s)
  5. difference=$(( end - start ))
  6. echo $difference seconds.

同步时间:

  1.  
  1.  

输入ntpdate time.nist.gov同步网络时间

结果:3 Jun 15:42:39 ntpdate[4721]: adjust time server 211.115.194.21 offset -0.005885 sec

出现上述结果代表时间同步成功,上面的大致意思为调整时间为服务器211.115.194.21的时间,相差-0.005885秒的时间

  1.  

如果上面time.nist.gov、ntp.api.bz服务器同步不了,可以换下面几个时间服务器试试:
time.nist.gov
time.nuri.net
0.asia.pool.ntp.org
1.asia.pool.ntp.org
2.asia.pool.ntp.org
3.asia.pool.ntp.org

00007 - Linux时间date命令详解的更多相关文章

  1. linux系统date命令详解

    Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟.系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟, ...

  2. linux之date命令详解

    date命令的用处 1.用于显示特殊的时间格式,可以用于对日志文件的命名 2.用于设置时间 ,不过这方面用的比较少,因为一般的服务器都设置的有自动同步网络时间 用法: date [OPTION]... ...

  3. linux下tar命令详解

     linux下tar命令详解    tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.ta ...

  4. 【转帖】Linux定时任务Crontab命令详解

    Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...

  5. Linux主要shell命令详解(上)

    [摘自网络] kill -9 -1即实现用kill命令退出系统 Linux主要shell命令详解 [上篇] shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的 ...

  6. Linux定时任务Crontab命令详解_转

    转自:Linux定时任务Crontab命令详解 (部分修改) linux 定时系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服 ...

  7. Linux部分常用命令详解(二)

    date 命令详解 date命令可以按照指定格式显示日期,只键入date则以默认格式显示当前时间 例如: 如果需要以指定的格式显示日期,可以使用“+”开头的字符串指定其格式,详细格式如下: %n : ...

  8. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

  9. linux之find命令详解

    linux之find命令详解 查找文件find ./ -type f查找目录find ./ -type d查找名字为test的文件或目录find ./ -name test查找名字符合正则表达式的文件 ...

随机推荐

  1. Python——xlsxwriter模块的使用

    xlsxwriter是用于制作Excel表格的 安装方法 40 wget https://pypi.python.org/packages/e4/63/e53deacc293c7fadf95b8404 ...

  2. idea使用的JDK版本1.9换成1.8后相关的更改设置

    File——>Project Structure 一.查看Project中的jdk 1.检查Project SDK:中jdk 版本是否为1.8版本 2.检查Project language le ...

  3. 使用 loki grafana 分析nginx 请求日志

    loki 是类似prometheus 的log 可视化展示.收集系统,已经集成在grafana 6.0 版本中了 说明: 测试环境使用了docker-compose 运行 环境准备 docker-co ...

  4. 无线模块 RXB12-315m TXB12-315M 应用

    近期有个产品用到这对模块,因为没有什么技术支持,就直接上机调试.測试结果为带障碍发射距离60米. 下面是应用的几个知识点: 1:编程操作.事实上比較简单,调制信号315M是模块自带的,不须要调制和解调 ...

  5. Bjarne Stroustrup announces C++ Core Guidelines

    This morning in his opening keynote at CppCon, Bjarne Stroustrup announced the C++ Core Guidelines ( ...

  6. [转]JDK动态代理

    代理模式         代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代理类与委托类之间 ...

  7. redis实现与分析-单机数据库实现

    数据库 1,1个数据库数据结构和上面一样,两个字典,一个包含所有的键,一个包含了键的过期时间 2,redis删除过期键策略:定期+惰性 定期:一段时间开始删,删不全下次继续删 惰性:使用键的时候检察 ...

  8. VS2013 未找到与约束。。。

    新建项目或打开项目时,VS2013 未找到与约束...问题: 解决方案:控制面板>程序>程序和功能 找到如下选中软件右击修复 即可(修复前需关闭VS2013)

  9. AI硬件 XPU

    市场对人工智能的热情持续高涨,特别是硬件领域.人工智能将成为下一个大风口,首当其冲的就包括硬件, 在图像语音识别.无人驾驶等人工智能领域的运用层面,图形处理器 (GPU)正迅速扩大市场占比,而谷歌专门 ...

  10. sublime text2+Ctags+Cscope替代Source Insight

    说明:以Windows系统下查看C++代码为例.因为Source Insight(以下简称SI)是收费软件,且界面丑陋,所以考虑其替代方案,发现Sublime Text3(以下简称ST3) + Cta ...