在linux中date命令用于打印或设置系统日期和时间,当然比较常用的就是打印时间,在shell脚本中需要使用到日期、时间、时间戳等内容时都会用到它。这里记录下常用的的一些操作。
自定义显示格式
[root@imzcy ~]# date
Thu Dec 7 23:25:01 CST 2023
[root@imzcy ~]#[root@imzcy ~]# date +"%Y.%m.%d %H:%M:%S"
2023.12.07 23:25:52
[root@imzcy ~]#[root@imzcy ~]# date +%Y%m%d_%H%M%S
20231207_232524
[root@imzcy ~]#显示当前时间前后时间
[root@imzcy ~]# date
Thu Dec 7 23:30:24 CST 2023
[root@imzcy ~]#
[root@imzcy ~]# date +"%Y.%m.%d %H:%M:%S" -d "-10seconds"
2023.12.07 23:30:15
[root@imzcy ~]#
[root@imzcy ~]#
[root@imzcy ~]# date +"%Y.%m.%d %H:%M:%S" -d "-1days"
2023.12.06 23:30:37
[root@imzcy ~]#
[root@imzcy ~]# date +"%Y.%m.%d %H:%M:%S" -d "-1months"
2023.11.07 23:30:48
[root@imzcy ~]#
[root@imzcy ~]# date +"%Y.%m.%d %H:%M:%S" -d "-1years"
2022.12.07 23:30:54
[root@imzcy ~]#[root@imzcy ~]# date +"%Y.%m.%d %H:%M:%S" -d +5days
2023.12.12 23:34:00
[root@imzcy ~]#显示指定时间前后时间
显示指定日期一个月之后的日期
[root@imzcy ~]# date -d "20230420 1 months" "+%Y-%m-%d"
2023-05-20
[root@imzcy ~]#显示指定日期一个月之前的日期
[root@imzcy ~]# mydate=20230620
[root@imzcy ~]# date -d "$mydate 1 months ago" "+%Y-%m-%d"
2023-05-20
[root@imzcy ~]#[root@imzcy ~]# date -d "$mydate 1 days ago" "+%Y-%m-%d"
2023-06-19
[root@imzcy ~]# date -d "$mydate 1 years ago" "+%Y-%m-%d"
2022-06-20
[root@imzcy ~]#标准时间和时间戳互转
时间戳转换为标准时间
[root@imzcy ~]# date +%s
1701963833
[root@imzcy ~]#[root@imzcy ~]# date -d @1701963833 "+%Y.%m.%d %H:%M:%S"
2023.12.07 23:43:53
[root@imzcy ~]#[root@imzcy ~]# mytime=1701963833
[root@imzcy ~]# date "+%Y.%m.%d %H:%M:%S" -d @$mytime
2023.12.07 23:43:53
[root@imzcy ~]#标准时间转换为时间戳
[root@imzcy ~]# date -d "2023-12-07 23:43:53" +"%s"
1701963833
[root@imzcy ~]#
本文采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。
如果您的问题未解决,欢迎微信扫描右侧二维码与我联系。