type
status
date
slug
summary
tags
category
icon
password
Mac下的date命令是BSD(Berkeley Software Distribution)系的,Linux下date命令是GNU(GNU's Not Unix)系的,二者用法有一些区别。linux下的date命令用法见[[Linux中date命令用法]]。
BSD并不特指任何一个BSD衍生版本,而是类UNIX操作系统中的一个分支的总称。
Mac OS X和iOS实际上基于Darwin,Darwin是BSD其中一个分支。

共同点

基本的时间格式的缩写是相同的,规则如下:
  • %Y 四位数形式的年份,如2018
  • %y 两位数形式的年份,如18
  • %m 表示前导0的月份,如01,12
  • %d 表示前导0的日期,如02,28
  • %h 三位的英文月份
  • %H 表示前导0的24小时(0~23)
  • %M 表示前导为0的分钟数(0~60)
  • %S 表示前导为0的描述秒数(0~60)
  • %s 表示距离格林尼治时间(1970年1月1日0点)的秒数

不同点

获取前一天和获取后一天的写法不同:
Mac:通过-v参数,-v-1d代表前一天,-v-1y代表上一年
Linux:通过--date参数实现,--date='-1 day'代表前一天,--date='-1 year'代表上一年

mac date命令用法详解

用法

参数解析

  • j:使用-j才能使用-f
  • n:默认情况下,如果定时进程正在运行,date命令会在本地组的所有机器设置时间。n可以禁止这种行为,表示只设置当前计算机。
  • u:显示或者设置日期为UTC(世界协调时钟)时间
  • d:设置内核的时区,一般不使用
  • r:秒转换时间
  • t:(time zone)时区设置(GMT时区)
  • v:根据参数调整时间
    • 不使用+|-,更改对应的时间
    • 使用+:增加对应的时间
    • 使用-:减少对应的时间
  • f:根据格式调整时间
  • +:+号引导的一些格式,和正常的Linux格式一致

使用示例

  1. 查看当前时间戳(即转换成秒):
  1. 当前时间转换指定格式
  1. 时间戳转时间
 
Linux中date命令用法macOS中shell命令计算时间差
  • Twikoo
  • Giscus
  • Cusdis