AI智能
改变未来

玩转 Linux 环境下日期的语法

第⑦期 | 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
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 玩转 Linux 环境下日期的语法