date [选项] [格式]

date [-u|--utc|--universal] [MMDDhhmm[[CC]yy][.ss]]

  date命令根据指定格式显示当前时间或设置系统时间。很多shell脚本中需要用到date命令来执行操作,例如备份时生成带日期的压缩文件包。

(1).选项

-d,--date=STRING 显示有STRING指定的时间,而不是当前时间。该选项不会改变系统时间

-f,--file=DATEFILE 显示DATEFILE中每一行指定的时间,如同将DATEFILE中每一行作为--date的参数一样

-I[TIMESPEC],--iso-8601[=TIMESPEC] 按照ISO-8601的格式输出日期/时间。TIMESPEC的值可以是date、hours、minutes、seconds、ns,表示输出到哪一位为止,默认date,输出年月日。

-r,--reference=FILE 显示FILE的最后修改时间

-R,--rfc-2822 按照RFV-2822格式输出日期和时间。例如:Sat, 27 Apr 2019 17:05:27 +0800

--rfc-3339=TIMESPEC 按照RFC-3339格式输出日期和时间。TIMESPEC的值可以是date、seconds、ns,表示输出到哪一位为止。

-s,--set=STRING 根据STRING设置时间

-u,--utc,--universal显示或设置全球时间UTC

(2).格式

%% 转义%
%a 当前区域的星期几的简写(Sun..Sat)
%A 当前区域的星期几的全称(Sunday..Saturday)
%b 当前区域的月份的简写(Jan..Dec)
%B 当前区域的月份全称(January..December)
%c 当前区域的日期和时间
%C 世纪,类似%Y
%d 月份中的几号(01..31)
%D 日期,等同于%m/%d/%y
%e 月份中的几号,去零表示,等同于%_d
%F 全部日期,等同于%Y-%m-%d
%g ISO格式年份的最后两位数字
%G ISO格式年份的,一般只和%V一起使用
%h 等同于%b
%H (24小时制)小时(00..23)
%I (12小时制)小时(01..12)
%j 年份中的日期(001..366)
%k (24小时制)小时,去零表示,等同于%_H(0..23)
%l (12小时制)小时,去零表示,等同于%_I(1..12)
%m 月份(01..12)
%M 分钟(00..59)
%n 一个新行,即转行
%N 纳秒(000000000..999999999)
%p 当前区域时间是AM还是PM,不知道则为空
%P 类似%p,但小写字母,即am和pm
%r 按12小时制显示时间,hh:mm:ss AM/PM
%R 按24小时制显示小时和分钟,等同于%H:%M
%s 从1970年1月1日0点0分0秒到现在过了多少秒
%S 秒(00..60)
%t 一个tab制表符
%T 时间,等同于%H:%M:%S
%u 一周中的第几天(1..7),1是Monday
%U 一年中的第几个星期,以星期天作为一周的开始(00..53)
%V 一年中的第几个星期(ISO标准),以星期一作为一周的开始(01..53)
%w 一周中的第几天(0..6),0是Sunday
%W 一年中的第几个星期,以星期一作为一周的开始(00..53)
%x 按照mm/dd/yy的格式显示当前日期
%X 按照%H:%M:%S的格式显示当前时间(12小时制)
%y 年份的后两位(00..99)
%Y 年份(1970..)
%z 数字时区,格式+hhmm,例如-0400
%:z 数字时区,格式+hh:mm,例如-04:00
%::z 数字时区,格式+hh:mm:ss,例如-04:00:00
%:::z 数字时区,带有必要的精确度,例如-04,+05:30
%Z 时区名,缩写,例如EDT
默认情况下,用0填充数据的空缺部分,以下选项跟在%后面:
- 不进行填充
_ 用空格进行填充
0 用0填充
^ 如果可能使用大写(并非百分百)
# 如果可能使用相反大小写(并非百分百)

(3).实例

1)显示当前日期

[xf@xuexi ~]$ date +%F
2019-05-02
[xf@xuexi ~]$ date +%Y-%m-%d
2019-05-02
[xf@xuexi ~]$ date +%Y%m%d
20190502
[xf@xuexi ~]$ date +%x
05/02/2019
[xf@xuexi ~]$ date +%m/%d/%Y
05/02/2019

2)显示当前时间

[xf@xuexi ~]$ date +%T
16:01:13
[xf@xuexi ~]$ date +%H:%M:%S
16:01:33
[xf@xuexi ~]$ date +%X
04:01:41 PM
[xf@xuexi ~]$ date +%r
04:02:45 PM
[xf@xuexi ~]$ date +%R
16:03
[xf@xuexi ~]$ date +%H:%M
16:03

3)显示日期与时间

[xf@xuexi ~]$ date
Thu May 2 16:04:15 CST 2019
[xf@xuexi ~]$ date +"%F %T"
2019-05-02 16:04:42
[xf@xuexi ~]$ date +"%Y-%m-%d %H:%M:%S"
2019-05-02 16:05:35

4)设置时间

修改时间需要到root用户下

[root@xuexi ~]# date -s "20190101"
2019年 01月 01日 星期二 00:00:00 CST
[root@xuexi ~]# date
2019年 01月 01日 星期二 00:00:02 CST
[root@xuexi ~]# date -s 20190502
2019年 05月 02日 星期四 00:00:00 CST
[root@xuexi ~]# date
2019年 05月 02日 星期四 00:00:02 CST

(4).扩展:同步网络时间

[root@xuexi ~]# ntpdate -u ntp.api.bz
2 May 16:17:48 ntpdate[11892]: step time server 114.118.7.163 offset 58563.111835 sec
[root@xuexi ~]# date
2019年 05月 02日 星期四 16:17:52 CST

ntp常用服务器:
中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz
美国: time.nist.gov
复旦: ntp.fudan.edu.cn
微软公司授时主机(美国) :time.windows.com
北京邮电大学 : s1a.time.edu.cn
清华大学 : s1b.time.edu.cn
北京大学 : s1c.time.edu.cn
台警大授时中心(台湾):asia.pool.ntp.org

Linux命令之date的更多相关文章

  1. 每天一个linux命令(50)--date命令

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

  2. linux 命令——37 date (转)

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

  3. 我使用过的Linux命令之date - 显示、修改系统日期时间

    原文地址:http://www.cnblogs.com/diyunpeng/archive/2011/11/20/2256538.html 用途说明 ate命令可以用来显示和修改系统日期时间,注意不是 ...

  4. 每日Linux命令(1)-date

    显示日期指令:date 1.如果想知道Linux系统的时间,那么可以在shell终端直接输入date命令,时间就会反白显示在终端. ysxy@ubuntu:~$ date Tue Aug :: CST ...

  5. 我使用过的Linux命令之date - 显示、修改系统日期时间(转)

    用途说明 ate命令可以用来显示和修改系统日期时间,注意不是time命令. 常用参数 格式:date 显示当前日期时间. 格式:date mmddHHMM 格式:date mmddHHMMYYYY 格 ...

  6. 2018/03/31 每日一个Linux命令 之 date

    date 命令主要用于查看和修改时间和时区 -- 这里主要学习基本的查看和设置时间和时区的方法. 直接显示日期 date '+%D' 效果 vagrant@hong:~$ date '+%D' 03/ ...

  7. Linux命令:date命令

    date命令作用:显示和设置系统的日期和时间 一.设置系统日期时间 格式:date [MMDDhhmm[[CC]YY][.ss]] 举例:将当前系统时间改为 2020年10月1日12点10分 # da ...

  8. Linux命令之date +%F

    date命令显示当前日期 date +%F显示当前日期 [10:02:52 root@C8[ 2020-06-16DIR]#touch `hostname`_`date +%F`.log [10:03 ...

  9. 每天一个linux命令(37):date命令

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

随机推荐

  1. Django drf:版本控制、django的缓存

    一.版本控制 二.django的缓存 一.版本控制 1.内置版本控制类 from rest_framework.versioning import QueryParameterVersioning,A ...

  2. Linux下 expect 使用详解与实例

    一.概述 我们通过Shell可以实现简单的控制流功能,如:循环.判断等.但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能.而Expec ...

  3. vue-cli webpack打包后index.html引入文件没有引号

    参考地址:https://blog.csdn.net/i_coffer/article/details/81005733 在对vue-cli项目打包后出现index.html引入的css和js没有引号 ...

  4. 洛谷P1330 封锁阳光大学【dfs】

    题目:https://www.luogu.org/problemnew/show/P1330 题意:一个无向边,一个河蟹可以占领一个点,但一个点只能被一个河蟹占领. 占领了一个点之后,这个点所有的边都 ...

  5. axios并行请求

    有些操作需要在几个异步请求都完成之后再执行,虽然一个Ajax可以放到另一个Ajax完成的回调里面,但这样很容易导致回调地狱,且代码也极其不美观. 幸运的是axios提供了并行请求的方法, 使用方法: ...

  6. leetcode解题报告(11):Search Insert Position

    描述 Given a sorted array and a target value, return the index if the target is found. If not, return ...

  7. 薛的lca讲课配到题解

    2.15 LCA Nearest Common Ancestors POJ 1330 题意:给出一棵树, 询问两个点的最近公共祖先. 思路: $LCA$模板题,请各位掏出各式各样的模板A穿它. #in ...

  8. codeforces gym #101161E - ACM Tax(lca+主席树)

    题目链接: http://codeforces.com/gym/101161/attachments 题意: 给出节点数为$n$的树 有$q$次询问,输出$a$节点到$b$节点路程中,经过的边的中位数 ...

  9. 微信小程序之简单记账本开发记录(一)

    下载并安装微信开发者工具 在选择开发记账本程序的时候犹豫着选择android studio还是微信小程序 最后选择了微信小程序,因其便利和快捷. 话不多说,第一步,下载并安装微信开发者工具.下面是教程 ...

  10. CF1030C

    CF1030C 题意: 给你一个数字,问能否拆分成k段,使得每一段的每一位数字相加结果相等. 解法: 考虑数位DP. 暴力按位考虑每一位是否满足条件 CODE: #include<cstdio& ...