前言:
Mac下date命令式BSD(Berkeley Software Distribution)系的,Linux 下date命令式GNU(GNU’s Not Unix)系,二者用法有一些区别。
BSD并不是特指定任何一个BSD衍生版本,而是类UNIX操作系统中的一个分支的总称。
Mac OS X 和 iOS实际上基于 Darwin,Darwin是BSD其中一个分支。
基本的时间格式缩写是相同的,规则如下:
获取前一天和后一天的写法不同:
usage: date [-jnRu] [-r seconds|file] [-v[+|-]val[ymwdHMS]]
[-I[date | hours | minutes | seconds]]
[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
参数解析:
查看当前时间的时间戳:
date +%s
1658891485
把当前时间转换为想要的格式:
date +%Y-%m-%d-%H:%M:%S
2022-07-27-11:13:01
查看特定时间的时间戳:
date -j -f %Y-%m-%d 2022-7-27 +%s
1658891631
date -j -f %Y-%m-%d:%H:%M:%S 2022-7-27:00:00:00 +%s
1658851200
时间戳转时间:
date -r 1658851200
2022年 7月27日 星期三 00时00分00秒 CST
时间戳转换成想要的格式:
date -r 1658851200 +%Y-%m-%d:%H:%M:%S
2022-07-27:00:00:00
-v不使用+|-,更改对应的时间(年月日时分秒对应的参数):
date -v5m
2022年 5月27日 星期五 11时16分56秒 CST
date -v3H
2022年 7月27日 星期三 03时17分03秒 CST
使用+|-,增加|减少对应的时间:
date -v+3m
2022年10月27日 星期四 11时17分46秒 CST
date -v+2H
2022年 7月27日 星期三 13时18分04秒 CST