Linux 下的date命令使用介绍
Linux date命令
1.date命令man手册说明
DATE(1) FSF DATE(1) NAME date - 打印或设置系统日期和时间 总览 date [选项]... [+格式] date [选项] [MMDDhhmm[[CC]YY][.ss]] 描述 根据指定格式显示当前时间或设置系统时间. -d, --date=STRING 显示由 STRING 指定的时间, 而不是当前时间 -f, --file=DATEFILE 显示 DATEFILE 中每一行指定的时间, 如同将 DATEFILE 中的每行作为 --date 的参数一样 -I, --iso-8601[=TIMESPEC] 按照 ISO-8601 的日期/时间格式输出时间. TIMESPEC=`date' (或者不指定时)仅输出日期,等于 `hours', `minutes', 或`seconds' 时按照指定精度输出日期及时间. -r, --reference=FILE 显示 FILE 的最后修改时间 -R, --rfc-822 根据 RFC-822 指定格式输出日期 -s, --set=STRING 根据 STRING 设置时间 -u, --utc, --universal 显示或设置全球时间(格林威治时间) --help 显示本帮助文件并退出 --version 显示版本信息并退出 格式 FORMAT 控制着输出格式. 仅当选项指定为全球时间时本格式才有效。 分别解释如下: %% 文本的 %
1.4、格式
格式 | 说明 | 实例 |
---|---|---|
%a | 缩写的星期名 | Thu |
%A | 全星期名 | Thursday |
%b | 缩写的月名 | Aug |
%B | 全月名 | August |
%c | 日期和时间 | Thu Aug 23 14:55:02 2001 |
%C | 年/100 [00,99] | 20 |
%d | 十进制表示的每月的第几天 [01,31] | 16 |
%D | 月/天/年 [m%/d%/y%] | 06/16/12 |
%e | 十进制表示的每月的第几天 ,一位数前加空格[1,31] | 10 |
%F | 年-月-日 [Y%-m%-d%] | 2012-06-16 |
%g | ISO 8601使用基于周的年的后两位数字 | 12 |
%G | ISO 8601使用基于周的年 | 2012 |
%h | 简写的月份名 ,与%b相同 | Aug |
%H | 24小时制的小时 [00,23] | 14 |
%I | 12小时制的小时 [01,12] | 02 |
%j | 每年的第几天 [001,366] | 235 |
%k | 24小时制的小时 [0,23] | 5 |
%l | 12小时制的小时 [1,12] | 5 |
%m | 十进制的月 [01,12] | 08 |
%M | 分钟 [00,59] | 55 |
%n | 换行符 | |
%N | 十亿分之一秒,纳秒 [000000000,999999999] | 000000001 |
%p | AM/PM | PM |
%P | am/pm | pm |
%r | 本地时间:(12时制) | 11:01:23 AM |
%R | 与“%H:%M”相同 | 11:01 |
%s | 自’00:00:00 1970-01-01 UTC’ 的秒数 | 1339819819 |
%S | 秒 [00,60] | 02 |
%t | 水平制表符 | |
%T | 与“%H:%M:%S”相同 | 11:01:23 |
%u | ISO 8601的星期,星期一为1,[1,7] | 2 |
%U | 周数 ,以周日为一周开始 [00,53] | 33 |
%V | ISO 8601周数 [01,53] | 07 |
%w | 星期,星期天为0. [0,6] | 4 |
%W | 周数,以星期一为一周开始 [00,53] | 34 |
%x | 标准日期 | 06/16/12 |
%X | 标准时间 | 14:55:02 |
%y | 年份的后两位数字 [00,99] | 12 |
%Y | 年 | 2012 |
%z | ISO 8601格式的UTC偏移量 | -0500 |
%Z | 时区名 | EST |
%% | 百分号 | % |
若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数
2.部分date命令
个人比较常用:
date +%Y-%m-%d” “%a” “%X 12进制显示当前时间
[yl@centos ~]$ date +%Y-%m-%d” “%a” “%X
2018-04-15 Sun 06:18:59 PM
date +%Y-%m-%d” “%a” “%H:%M:%S 24进制显示当前时间
[yl@centos ~]$ date +%Y-%m-%d” “%a” “%H:%M:%S
2018-04-15 Sun 18:21:30
举例:
date # 以默认格式显示当前日期
date -d “1 day” # 以默认格式显示一天后的日期(还可以 second,minute,..直到year,可以加s表示复数)
date -d “1970-01-01 UTC 1128621784 seconds” # 以默认格式显示从1970-01-01 UTC起后1128621784秒的日期
date -d “3 day ago” +%Y%m%d # 以指定格式显示3天前的日期
date -d “1 month” +%Y-%m-%d # 以指定格式显示一个月后的日期
date -d “1 month” +%s # 以指定格式显示一个月后的日期(此格式为从1970年1月1日00:00:00到目前经历的秒数,%S为当前的秒数(0~59))
date -d “1970-01-01 CST 1 second” +%s # 显示从1970-01-01 CST起1秒后的秒数(-28799,注意时区”CST”)
date -d “2 hours” # 2小时前
date -d “1 minutes” # 1分钟前
date -d “2 seconds” # 2秒钟前
date -d “20120616” +%s # 以指定格式显示日期
date
[yl@centos ~]$ date
Sun Apr 15 17:27:17 CST 2018
date -d “1 day”
[yl@centos ~]$ date -d “1 day”
Mon Apr 16 17:39:51 CST 2018
date -d “1 year”
[yl@centos ~]$ date -d “1 year”
Mon Apr 15 17:41:02 CST 2019
date -d “1 year 1 month 1 week 1 H 1 minute”
[yl@centos ~]$ date -d “1 year 1 month 1 week 1 H 1 minute”
Wed May 22 17:01:00 CST 2019
上面的可以根据需要设置隔现在多长时间后的时间
date -d “1970-01-01 UTC 1128621784 seconds”
[yl@centos ~]$ date -d “1970-01-01 UTC 1128621784 seconds”
Fri Oct 7 02:03:04 CST 2005
以默认格式显示从1970-01-01 UTC起后1128621784秒的日期
date -d “3 day ago” +%Y%m%d
[yl@centos ~]$ date -d “3 day ago” +%Y%m%d
20180412
date -d “20120616” +%s
[yl@centos ~]$ date -d “20120616” +%s
1339776000
以指定格式显示日期
3.date实用举例:
date实用举例:
#显示时区
[cnscn@root /home/cnscn/backup]# date +%Z
CST
#显示世纪
[cnscn@root /home/cnscn/backup]# date +%C
20
====================设置===========================
设置时间为: 2005年02月22日09:10:46
[cnscn@root /home/cnscn/backup]# date 022209102005.46#月日时分年.秒
二2月22 09:10:46 CST 2005
[cnscn@root /home/cnscn/backup]# date -s “+3 hours” #将时间增加3小时
二2月22 09:46:14 CST 2005
[cnscn@root /home/cnscn/backup]# date -s “-40 minutes”#将时间减少40分钟
二2月22 09:06:35 CST 2005
[cnscn@root /home/cnscn/backup]# date -s“+1 year” #时间增加1年
三2月22 09:14:55 CST 2006
[cnscn@root /home/cnscn/backup]# date -s“-1 year”#时间减少一年
二2月22 09:15:02 CST 2005
======================按日期显示============================
[cnscn@root /home/cnscn/backup]# date -d“+1 year”
三2月22 09:57:46 CST 2006
[cnscn@root /home/cnscn/backup]# date -d “-1 month”
六1月22 09:49:08 CST 2005
[cnscn@root /home/cnscn/backup]# date -d “-1 month” +%s
1106358557
[cnscn@root /home/cnscn/backup]# date -d “7 days ago”#显示7天前的时间
二2月15 09:16:09 CST 2005
[cnscn@root /home/cnscn/backup]# date -d “7 days ago”+%s#显示7天前时间的秒值
1108430178
[cnscn@root /home/cnscn/backup]# date -d “7 days” #显示7天后时间的秒值
二3月1 09:17:11 CST 2005
[cnscn@root /home/cnscn/backup]# date -d “7 days”+%s#显示7天后时间的秒值
1109639824
=======================================================
显示当前系统时间和日期
$date
完整的日期时间显示
[cnscn@root /home/cnscn/backup]# date +%c
2005年02月22日星期二09时32分19秒
以格林威治标准时间显示目前时间和日期
[cnscn@root /home/cnscn/backup]# date -u
二2月22 01:38:20 UTC 2005
以当地习惯显示日期
[cnscn@root /home/cnscn/backup]# date +%x
2005年02月22日
以mm/dd/yy格式显示系统日期
[cnscn@root /home/cnscn/backup]# date +%D
02/22/05
=========================================================
英文全称月份
[cnscn@root /home/cnscn/backup]# date +%B
二月
英文缩写月份
[cnscn@root /home/cnscn/backup]# date +%b
2月
今年第几天
[cnscn@root /home/cnscn/backup]# date +%j
053
============================================================
时:分:秒
[cnscn@root /home/cnscn/backup]# date +%T09:24:07
加上AM与PM
[cnscn@root /home/cnscn/backup]# date +%T%p
09:24:07上午
[cnscn@root /home/cnscn/backup]# date +%r
09:34:44上午
=========================================================
周几
[cnscn@root /home/cnscn/backup]# date +%w
2
本地格式周几全称
[cnscn@root /home/cnscn/backup]# date +%A
星期二
本地格式周几缩写
[cnscn@root /home/cnscn/backup]# date +%a
二
#今年第几周
[cnscn@root /home/cnscn/backup]# date +%U
08
1)把时间转成秒
**$**date -d “20061206 07:08” +%s
1165360080
2)把秒转换成时间
date2006年07月06日星期四11:57:18CST'>date2006年07月06日星期四11:57:18CSTdate2006年07月06日星期四11:57:18CST date -d “now” +%s
1152158238
date−d“197001011152158238secondsUTC”2006年07月06日星期四11:57:18CST'>dated“197001011152158238secondsUTC”2006年07月06日星期四11:57:18CSTdated“197001011152158238secondsUTC”2006年07月06日星期四11:57:18CST date -d “@1152158238”
推荐阅读
-
Oracle exp query条件检索在Windows和Linux下的命令区别
-
PHP执行linux系统命令的常用函数使用说明
-
Linux下netstat命令的一些常见用法
-
linux的cp命令怎么用(linux常用命令cp使用例子)
-
linux的cp命令怎么用(linux常用命令cp使用例子)
-
使用WSL2、VSCode和Docker Desktop搭建在Windows下的Linux开发环境
-
「docker实战篇」python的docker爬虫技术-在linux下mitmproxy介绍和安装(四)
-
Linux和Windows之间文件传输(Linux下rz,sz与ssh的配合使用) 博客分类: Linux linuxwindowsrzsz文件传输
-
Ubuntu(Linux)下的命令行软件包管理器apt
-
linux学习第五十二篇: exportfs命令,NFS客户端问题,FTP介绍,使用vsftpd搭建ftp服务