Linux 和 Mac下date命令的基本用法
Mac下的date命令是BSD系的, Linux下date命令是GNU系的,两者的用法有一些区别,罗列如下:
共同点
基本的时间格式的缩写是相同的,规则如下:
- %Y 表示四位数形式的年份, 比如2017
- %m 表示带前导0的月份,比如02,12
- %d 表示带前导0的日子, 比如 02,28
- %H 表示带前导0的24小时, 比如 01, 23
- %M 表示带前导0的分钟数, 比如 05, 22
- %S 表示带前导0的秒数, 比如 06,45
- %s 表示距离格林威治时间(1970年1月1日0点)的秒数
运行结果:
1 | # Macos |
不同点
获取前一天和获取后一天的写法不同
Macos 下通过使用-v参数时间,-v-1d代表前一天, -v-1y代表上一年
Linux 下通过--date参数实现, --date='-1 day'代表前一天, --date='-1 year'代表上一年
1 | # Macos |
检查平台来决定如何使用date
可以使用uname -s的输出来判定是哪个平台,Linux下命令输出是Linux, Macos下命令输出是Darwin.
1 | #!/bin/bash |