`
zhaobin87
  • 浏览: 77649 次
  • 来自: 深圳
社区版块
存档分类
最新评论

Linux中date命令的各种实用方法

阅读更多

 

1、以下是服务器现在的时间,当前时间的各种表示方法,表示成自己想要的时间格式,后面的范例将会在这个时间基础之上进行演示,同时这也是熟练掌握后面各种date命令的前提,请读者注意
[root@RHEL601 tmp]# date
2012年 07月 19日 星期四 20:11:16 CST

读者可以设定特定的格式,格式设定规则:一个加号后接数个标记,每个标记中都有%,其中可用的标记列表和说明如下: 
%n : 下一行
%t : 跳格
%H : 小时(00..23)
%I : 小时(01..12)
%k : 小时(0..23)
%l : 小时(1..12)
%M : 分钟(00..59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00..59)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区 %a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接显示日期与时间
%d : 日 (01..31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000..9999)


按照特定的格式输出时间:短接符"-"、空格" "和冒号":" 为分隔符,其中空格前面加了转义符号"\"
[root@RHEL601 tmp]# date +%Y-%m-%d\ %H:%M:%S
2012-07-19 21:10:28

在当前时间的基础上往前推或者往后推三天
[root@RHEL601 tmp]# date -d "+3 day" 
2012年 07月 22日 星期日 20:12:08 CST
[root@RHEL601 tmp]# date -d "-3 day"  
2012年 07月 16日 星期一 20:12:12 CST

在当前时间的基础上往前推或者往后推三个月
[root@RHEL601 tmp]# date -d "-3 month"    
2012年 04月 19日 星期四 20:12:39 CST
[root@RHEL601 tmp]# date -d "+3 month"  
2012年 10月 19日 星期五 20:12:48 CST

在当前时间的基础上往前推或者往后推三年
[root@RHEL601 tmp]# date -d "+3 year"      
2015年 07月 19日 星期日 20:13:06 CST
[root@RHEL601 tmp]# date -d "-3 year"   
2009年 07月 19日 星期日 20:13:11 CST

在当前时间的基础上往前推或者往后推三小时
[root@RHEL601 tmp]# date -d "-3 hour"     
2012年 07月 19日 星期四 17:13:20 CST
[root@RHEL601 tmp]# date -d "+3 hour"  
2012年 07月 19日 星期四 23:13:24 CST

在当前时间的基础上往前推或者往后推三分钟
[root@RHEL601 tmp]# date -d "+3 minute"       
2012年 07月 19日 星期四 20:16:56 CST
[root@RHEL601 tmp]# date -d "-3 minute"  
2012年 07月 19日 星期四 20:10:59 CST

在当前时间的基础上往前推或者往后推三十秒
[root@RHEL601 tmp]# date && date -d "-30 second"         
2012年 07月 19日 星期四 20:14:24 CST
2012年 07月 19日 星期四 20:13:54 CST
[root@RHEL601 tmp]# date && date -d "+30 second"  
2012年 07月 19日 星期四 20:14:29 CST
2012年 07月 19日 星期四 20:14:59 CST

2、接下来的范例说明如何用date来表示各种各样的时间,表示的都是某一天的零点时间,也可以在当前的时分秒的基础上表示时间,(特别注意中间用到了反单引号`)参见范例
date -d `date +%y%m01` #本月第一天
[root@RHEL601 tmp]# date -d `date +%y%m01`
2012年 07月 01日 星期日 00:00:00 CST

date -d `date +%y%m01`"-1 day"  #上个月最后一天
[root@RHEL601 tmp]# date -d `date +%y%m01`"-1 day"
2012年 06月 30日 星期六 00:00:00 CST

date -d `date -d "-3 month" +%y%m01`"-1 day" #4个月前的第一天
[root@RHEL601 tmp]# date -d `date -d "-3 month" +%y%m01`"-1 day"
2012年 03月 31日 星期六 00:00:00 CST

date -d `date -d "+12 month" +%y%m01`"-1 day" #第11个月后的第一天
[root@RHEL601 tmp]# date -d `date -d "+12 month" +%y%m01`"-1 day"
2013年 06月 30日 星期日 00:00:00 CST

date -d `date -d "-1 month" +%y%m01` #上个月第一天
[root@RHEL601 tmp]# date -d `date -d "-1 month" +%y%m01`
2012年 06月 01日 星期五 00:00:00 CST


date -d `date -d "+12 month" +%y%m01` #第12个月后的第一天
[root@RHEL601 tmp]# date -d `date -d "+12 month" +%y%m01`
2013年 07月 01日 星期一 00:00:00 CST

date -d `date -d "-1 day" +%Y%m%d` #前一天零点时间
[root@RHEL601 tmp]# date -d `date -d "-1 day" +%Y%m%d`
2012年 07月 18日 星期三 00:00:00 CST

date -d `date -d "-3 day" +%Y%m%d` #前三天零点时间
[root@RHEL601 tmp]# date -d `date -d "-3 day" +%Y%m%d` 
2012年 07月 16日 星期一 00:00:00 CST

date -d `date -d "+1 day" +%Y%m%d` #明天零点时间
[root@RHEL601 tmp]# date -d `date -d "+1 day" +%Y%m%d`  
2012年 07月 20日 星期五 00:00:00 CST

date -d `date -d "+3 day" +%Y%m%d` #往后推三天零点时间
[root@RHEL601 tmp]# date -d `date -d "+3 day" +%Y%m%d` 
2012年 07月 22日 星期日 00:00:00 CST

 

3、以下简单示范了字母大小写在date命令中的区别
Y #代表完整的年份,例如:2012年 将显示 2012
y #代表缩写年份,例如:2012年 缩写为 12

[root@RHEL601 tmp]# date +"%y%m01%H%M%S"
121201121556
[root@RHEL601 tmp]# date +"%Y%m01%H%M%S"
20121201121610

4、以下范例说明如何调整服务器的时间
ntpdate 210.72.145.44 #将服务器时间调整为正常时间,210.72.145.44 是国家授时中心服务器IP地址
[root@RHEL601 tmp]# ntpdate 210.72.145.44
19 Jul 13:07:07 ntpdate[15150]: adjust time server 210.72.145.44 offset -0.020920 sec

date 121212122012 #将时间设置为2012年 12月 12日 星期三 12:12:00,date后面的数字代表月日时分年,还可以加秒,需要后面跟英文状态下的句号字符".",例如:121212122012.12
[root@RHEL601 tmp]# date 121212122012
2012年 12月 12日 星期三 12:12:00 CST
[root@RHEL601 tmp]# date 121212122012.12
2012年 12月 12日 星期三 12:12:12 CST

[root@RHEL601 tmp]# date `date -d "1 day ago" +%m%d%H%M%Y.%S`
2012年 07月 18日 星期三 20:13:04 CST
[root@RHEL601 tmp]# date
2012年 07月 18日 星期三 20:13:10 CST
[root@RHEL601 tmp]# date `date -d "3 days ago" +%m%d%H%M%Y.%S`
2012年 07月 15日 星期日 20:13:18 CST
[root@RHEL601 tmp]# date `date -d "5 days ago" +%m%d%H%M%Y.%S`
2012年 07月 10日 星期二 20:13:28 CST
[root@RHEL601 tmp]# date `date -d "$((3600*24)) seconds ago" +%m%d%H%M%Y.%S`
2012年 07月 09日 星期一 20:13:39 CST
[root@RHEL601 tmp]# date `date -d "$((3600*24)) seconds ago" +%m%d%H%M%Y.%S`
2012年 07月 08日 星期日 20:14:01 CST
[root@RHEL601 tmp]# ntpdate 210.72.145.44
19 Jul 20:14:15 ntpdate[26846]: step time server 210.72.145.44 offset 950404.037565 sec

 

原文连接:http://521cto.blog.51cto.com/950229/935642

分享到:
评论

相关推荐

    Linux date 命令使用技巧.txt

    在Linux操作系统中,`date`命令是一个非常实用且强大的工具,用于显示和设置系统日期和时间。通过掌握`date`命令的不同选项及其格式化字符串,用户可以灵活地管理时间和日期,这对于系统管理员来说尤为重要。 #### ...

    Linux中date命令详解.docx

    ### Linux中的Date命令详解 #### 一、Date命令概述 `date`命令是Linux系统中一个非常实用且功能强大的工具,主要用于显示或设置系统的时间与日期。它支持丰富的格式化选项,用户可以根据需要定制日期与时间的显示...

    Linux之date命令

    **Linux之date命令详解** `date`命令是Linux操作系统中用于显示或设置系统时间与日期的重要工具,尤其在编写shell脚本时,它的作用尤为重要。它允许用户以各种格式输出日期和时间,甚至可以根据需要设置特定的时间...

    Linux系统中date命令及相关时区介绍

    在Linux操作系统中,`date`命令是一个非常实用的工具,用于显示和设置系统的日期和时间。这个命令在日常系统管理中扮演着重要角色,尤其是在自动化脚本和定时任务中。以下是对`date`命令和相关时区的详细介绍。 ...

    linux date命令详解

    通过了解 `date` 命令的功能和使用方法,我们可以更好地管理 Linux 系统的时间设置,并且能够灵活地格式化日期和时间以适应各种应用场景。无论是对于日常操作还是脚本编写都是非常实用的技能。希望以上介绍能够帮助...

    date命令案例

    在Linux操作系统中,`date`命令是一个非常基础且实用的工具,用于显示和设置系统当前的时间和日期。本文将深入探讨`date`命令的各种用法,以及如何利用它来实现给定日期的倒序输出。 ### 一、date命令基本用法 1. ...

    Linux开发常用命令.doc

    文件内容查看命令是 Linux 中非常实用的命令,下面都是文件内容查看命令: * cat 命令:用于显示文件内容。 * more 命令:用于分页显示文件内容。 * less 命令:用于分页显示文件内容。 四、环境变量命令 环境...

    linux date命令.docx

    Linux `date` 命令是Linux操作系统中的一个强大工具,用于查看和设置系统的日期和时间。这个命令具有丰富的选项,允许用户以各种格式显示日期和时间,甚至进行日期和时间的计算。在日常运维或者脚本编程中,`date` ...

    linux 基本命令---date命令总结

    `date`命令是Linux系统中一个非常实用且强大的工具,用于显示或设置系统的日期与时间。对于系统管理员来说,掌握`date`命令的使用方法至关重要,它可以帮助我们精确地管理服务器的时间同步问题,确保系统时间的准确...

    Linux date命令的使用

    Linux date命令是Linux系统中一个非常实用的工具,它用于显示和设置系统时间。date命令提供了丰富的选项和格式控制,使得用户可以根据需求以各种方式显示日期和时间,甚至可以更改系统时间。以下是对date命令的详细...

    Linux 命令速查手册

    本书不仅全面覆盖了Linux系统的核心命令,而且还提供了每个命令的具体使用方法和示例,让读者能够快速掌握和应用。在基础知识部分,作者可能会从Linux系统的安装和启动讲起,然后逐步深入到用户权限管理、文件系统...

    Linux命令file命令

    `file`命令是Linux系统中一个非常实用的工具,主要用于识别文件类型。与Windows系统通过文件扩展名来判断不同,`file`命令通过读取文件头部的信息来判断文件类型,这种方法更为准确且通用。 #### 二、命令语法及...

    linux常规操作命令大全

    Linux 系统中有很多实用的命令,掌握这些命令可以帮助我们更好地使用 Linux 系统。以下是 Linux 常规操作命令大全,涵盖了文件操作、磁盘操作、系统操作等多方面的知识点。 文件操作命令: * cat:显示文件内容和...

    linux实用命令常用命令

    以下是对给定文件中提及的Linux常用命令的详细解析: #### 1. `last` `last`命令用于显示系统登录记录,包括用户名、终端、登录时间等信息。这对于了解谁在何时登录过系统非常有用,特别是在多用户环境下。 #### 2...

    Linux常用操作命令

    ### Linux常用操作命令详解 #### 一、基本命令概述 对于Linux初学者而言,掌握一些基本的操作命令至关重要。本文将详细介绍一系列常用的Linux命令及其应用场景,帮助读者更好地理解和使用这些工具。 #### 二、时间...

    Linux下cut命令用法详解.doc

    `cut` 命令是 Linux 中非常实用且强大的文本处理工具之一。通过掌握上述不同的定位方法和示例,我们可以更加灵活地对文件进行数据提取和处理。无论是处理简单的数据还是复杂的文本文件,`cut` 都能提供简单有效的...

    linux实用命令文档

    这篇“Linux实用命令文档”涵盖了在Linux环境中进行日常管理和操作所必需的关键命令。这些命令对于理解Linux系统至关重要,无论你是系统管理员还是普通用户。 一、登录和退出系统 在Linux中,登录和退出系统主要有...

    linux 命令集 很实用

    以上列举了Linux系统中常用的命令和技巧,这些命令不仅可以帮助用户快速了解系统的基本配置和状态,而且还能提供强大的故障排查能力。通过熟练掌握这些命令,可以大大提高工作效率和系统维护的能力。

    Linux常用命令全集,很方便和实用

    而掌握Linux的常用命令,是使用和管理Linux系统的基石。以下是对"Linux常用命令全集"的详细解释: 1. **文件与目录操作**: - `ls`:列出目录内容。 - `cd`:改变当前工作目录。 - `mkdir`:创建新目录。 - `rm...

    Linux常用命令讲解

    在Linux实操篇中,系统地介绍了多种实用命令: 1. 文件目录类指令:包括查看当前目录的pwd指令、查看目录文件的ls指令、目录跳转的cd指令、创建和删除目录的mkdir和rmdir指令、创建空文件的touch指令、文件拷贝的cp...

Global site tag (gtag.js) - Google Analytics