第⑦期 | 20本技术书籍,包邮送!
当你刚开始学习 Linux 时,可能查个时间也就执行个 date 命令来查看,但 date 出来的时间日期格式以及内容可能不是我们想要的,那么我们就需要对他进一步的输出,从而来达到我们想要的格式。今天来带大家玩转 Linux 环境下日期的基本语法,不妨你可以上机操作,效果会更好。下面终端框查询每条的语法稍有不同,可进行左右滑动进行查看哦~
常用的时间/日期域
date命令使用时,不带任何参数即可获取当前系统时间日期。一般是CST标准格式的时间。
[root@localhost ~]# date2019年 04月 08日 星期一 09:43:37CST
除了上述不加任何参数外,还可以通过date +%r的方式来获取当前时间;
[root@localhost ~]# date +%r下午 01时22分06秒
获取特定格式,命令为:date + \’格式\’,需要注意的是:时间域的大小写。
[root@localhost ~]# date +‘%Y-%m-%d’ #以中文的引号进行输出‘2019-04-08’[root@localhost ~]# date +%Y-%m-%d #不带引号的输出格式2019-04-08[root@localhost ~]# date +\'%Y-%m-%d\' #以英文的引号进行输出2019-04-08[root@localhost ~]# date +\'%Y/%m/%d %H:%M:%S\' #特定格式,进行显示年月日,时分秒2019/04/08 09:47:44
获取昨天、前天以及前几天的日期(年月日、时分秒),可加上 -d 的参数。
[root@localhost ~]# date -d \'yesterday\'2019年 04月 07日 星期日 09:48:41 CST[root@localhost ~]# date -d last-day +%Y%m%d20190407[root@localhost ~]# date -d \'yesterday\' +\'%Y/%m/%d %H:%M:%S\'2019/04/07 10:02:26[root@localhost ~]# date -d last-day +\'%Y%m%d %H:%M:%S\'20190407 10:43:04[root@localhost ~]# date -d \'today -1 day\' +\'%Y-%m-%d\'2019-04-07[root@localhost ~]# date -d \'yesterday -1 day\' +\'%Y-%m-%d\'2019-04-06[root@localhost ~]# date -d \'yesterday -1 day\' +\'%Y-%m-%d %H:%M:%S\' #当前日期前两天的时间点2019-04-06 11:09:35[root@localhost ~]# date -d \"6 days ago\" +\'%Y-%m-%d %H:%M:%S\' #当前日期前6天的时间点2019-04-02 11:13:23
获取明天、后天以及当前日期后几天的时间点查找语法;
[root@localhost ~]# date -d \'tomorrow\'2019年 04月 09日 星期二 10:51:21 CST[root@localhost ~]# date -d tomorrow +%Y%m%d20190409[root@localhost ~]# date -d \'tomorrow\' +\'%Y%m%d %H:%M:%S\'20190409 10:53:56[root@localhost ~]# date -d tomorrow +\'%Y%m%d %H:%M:%S\'20190409 10:54:57[root@localhost ~]# date -d tomorrow +\'%Y-%m-%d %H:%M:%S\'2019-04-09 10:56:09[root@localhost ~]# date -d tomorrow +\'%Y-%m-%d\'2019-04-09[root@localhost ~]# date -d next-day +%Y%m%d20190409[root@localhost ~]# date -d next-day +\'%Y-%m-%d\'2019-04-09[root@localhost ~]# date -d \'next-day\' +\'%Y%m%d %H:%M:%S\'20190409 10:54:06[root@localhost ~]# date -d next-day +\'%Y%m%d %H:%M:%S\'20190409 10:55:12[root@localhost ~]# date -d next-day +\'%Y-%m-%d %H:%M:%S\'2019-04-09 10:55:59[root@localhost ~]# date -d \'tomorrow -l\' +\'%Y-%m-%d\' #当前日期后天的年月日2019-04-10[root@localhost ~]# date -d \'tomorrow -l day\' +\'%Y-%m-%d\' #当前日期后天的年月日2019-04-11[root@localhost ~]# date -d \"-6 days ago\" +\'%Y-%m-%d %H:%M:%S\' #当前日期后6天的时间点2019-04-14 11:14:51
获取当前时间的前一个小时的语法;
[root@localhost ~]# date -d \'today -1 hour\' +\'%Y%m%d%H\'2019040810[root@localhost ~]# date +\'%Y-%m-%d %H:%M:%S\' -d \'-1 hours\'2019-04-08 10:22:01
获取指定日期前一天和后一天的日期语法;
[root@localhost ~]# date -d \'20190101 -1 day\' +\'%Y%m%d\'20181231[root@localhost ~]# date -d \'20190101 yesterday\' +\'%Y%m%d\'20181231[root@localhost ~]# date -d \'20190101 yesterday -5 day\' +\'%Y%m%d\'20181226[root@localhost ~]# date -d \'20190101 yesterday\' +\'%Y%m%d %H:%M:%S\'20181231 00:00:00[root@localhost ~]# date -d \'20190101 yesterday -5 day\' +\'%Y%m%d %H:%M:%S\'20181226 00:00:00[root@localhost ~]# date -d \'20190101 1 day\' +\'%Y%m%d\'20190102[root@localhost ~]# date -d \'20190101 -l day\' +\'%Y%m%d\'20190102[root@localhost ~]# date -d \'20190101 tomorrow\' +\'%Y%m%d\'20190102[root@localhost ~]# date -d \'20190101 tomorrow 6 day\' +\'%Y%m%d\'20190108[root@localhost ~]# date -d \'20190101 tomorrow\' +\'%Y%m%d %H:%M:%S\'20190102 00:00:00[root@localhost ~]# date -d \'20190101 tomorrow 6 day\' +\'%Y%m%d %H:%M:%S\'20190108 00:00:00
获取一周前的日期及时间点语法;
[root@localhost ~]# date -d \"1 week ago\" +%Y%m%d20190401[root@localhost ~]# date -d \"1 week ago\" +\'%Y%m%d %H:%M:%S\'20190401 12:56:04
获取上月和下月的年份及月份;
[root@localhost ~]# date -d last-month +%Y%m201903[root@localhost ~]# date -d next-month +%Y%m201905
获取上一年的年份及下一年的年份;
[root@localhost ~]# date -d last-year +%Y2018[root@localhost ~]# date -d next-year +%Y2020
获取一年前的日期及时间点语法;
[root@localhost ~]# date -d \"1 year ago\" +%Y%m%d20180408[root@localhost ~]# date -d \"1 year ago\" +\'%Y%m%d %H:%M:%S\'20180408 12:58:10
获取当前日期是这一年中的第几天;
[root@localhost ~]# date \"+%j\"098
获取当前的月份/日份/年份;
[root@localhost ~]# date +%D04/08/19
获取整年每月的日历,可执行命令:cal -y 来查看;
获取当前本月以及前后两个月的月历,可执行命令:cal -3来查看;如不加任何参数,则显示当前月份的月历;
将日期转换为时间戳
[root@localhost ~]# date -d \"Mar 6 23:59:59CST 2019\" +%s1551887999
将时间戳转换为日期
[root@localhost ~]# date -d @15518879992019年 03月 06日 星期三 23:59:59CST
将时间戳转换为日期,并按特定格式进行输出。
[root@localhost ~]# date -d @1551887999 +\'%Y%m%d %H:%M:%S\'20190306 23:59:59