Linux 获取时间的方法多种方法

avatar 2019年10月8日19:09:47 评论 1,758 次浏览

我们使用linux系统默认的命令date,来根据不同的需要做日志备份,文件归类,获取某一段时间的日志等等,都需要用到时间命令。有那么多地方需要用到,那就归类一下date的用法:

先看一下date的命令格式:

date + 参数

例子:

[root@wulaoer.org ~]# date
Tue Oct  8 18:01:21 CST 2019

这是系统获取的时间,因为系统安装的是英文版本,显示的是英文,不过这些不重要,我们需要记录的就是年月日小时分钟秒等信息。

根据当前时间获取之前或之后的年月周日

我们根据天来获取几天之前的日期或者之后的日期:

[root@wulaoer.org ~]# date -d "1 days ago" +%Y%m%d 
20191007
[root@wulaoer.org ~]# date -d "-3 days ago" +%Y%m%d  
20191011

获取之前的日期和之后的日期的区别就是一个正一个负,不过如果根据周来获取怎么办,继续往下看:

[root@wulaoer.org ~]# date -d "-3 weeks ago" +%Y%m%d    
20191029
[root@wulaoer.org ~]# date -d "1 weeks ago" +%Y%m%d  
20191001

周使用了关键词weeks,区别和日期一样,周的日期就是间隔7天,所以会根据日期加7或者减7来计算。

[root@wulaoer.org ~]# date -d "1 month ago" +%Y%m%d     
20190908
[root@wulaoer.org ~]# date -d "-3 month ago" +%Y%m%d 
20200108

获取的月时间是山个月的今天或者下下下个月的今天,都是根据月的时间来计算的。

[root@wulaoer.org ~]# date -d "last sunday" +%Y%m%d            
20191006
[root@wulaoer.org ~]# date -d "next monday" +%Y%m%d           
20191014

获取上周末和下周一的日期,这里的关键词是周的英文和last,next,关键词last后面跟的星期几就是上个周几,next后面跟的星期几就获取下个星期几的日期。

[root@wulaoer.org ~]# date -d "-3 year ago" +%Y%m%d     
20221008
[root@wulaoer.org ~]# date -d "3 year ago" +%Y%m%d 
20161008

获取关键词年,3年前和3年后的时间,使用了关键词year,区别同日期一样。

[root@wulaoer.org ~]# date   +%Y%m%d%H  
2019100818
[root@wulaoer.org ~]# date -d "3 hour ago" +%Y%m%d%H
2019100815
[root@wulaoer.org ~]# date -d "-3 hour ago" +%Y%m%d%H 
2019100821

获取几个小时之前或者几个小时之后的时间,我们使用了“%H”来获取小时,区别和日期一样。

[root@wulaoer.org ~]# date   +%Y%m%d%H%M%S                 
20191008182928
[root@wulaoer.org ~]# date -d "3 minute ago" +%Y%m%d%H%M%S
20191008182631
[root@wulaoer.org ~]# date -d "-3 minute ago" +%Y%m%d%H%M%S                
20191008183238

获取分钟使用了关键词"%M",使用关键词minute获取之前和之后的日期,区别同日期。

[root@wulaoer.org ~]# date   +%Y%m%d%H%M%S                 
20191008183244
[root@wulaoer.org ~]# date -d "-3 second ago" +%Y%m%d%H%M%S
20191008183248
[root@wulaoer.org ~]# date -d "3 second ago" +%Y%m%d%H%M%S                 
20191008183243

获取秒的关键词,我们使用“%S”,关键词second来获取,区别同上。

[root@wulaoer.org ~]# date -d `date +%e`'days ago' +%Y%m%d
20190930
[root@wulaoer.org ~]# date -d "1 month ago" +"%Y%m01"
20190901

获取上个月的第一天和最后一天的日期。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: