• mac date命令详解


    mac date 命令详解

    前言:

    ​ Mac下date命令式BSD(Berkeley Software Distribution)系的,Linux 下date命令式GNU(GNU’s Not Unix)系,二者用法有一些区别。
    ​ BSD并不是特指定任何一个BSD衍生版本,而是类UNIX操作系统中的一个分支的总称。
    ​ Mac OS X 和 iOS实际上基于 Darwin,Darwin是BSD其中一个分支。

    1. 共同点

    基本的时间格式缩写是相同的,规则如下:

    • %Y :四位数年份,如2022
    • %y:两位数年费,如22
    • %m:有前导0的月份,如01,12
    • %d:有前导0的日期,如02,20
    • %h:三位的英文月份
    • %H:有前导0的24小时制(0~23)
    • %M:有前导0的分钟数(0~59)
    • %S:有前导0的秒数(0~59)
    • %s:距离格林尼治时间(1970年1月1日0点)的秒数

    2. 不同点

    获取前一天和后一天的写法不同:

    • Mac , 通过-v参数,-v-1d 代表前一天,-v-1y代表上一年
    • Linux,通过–date参数实线,–date=“-1 day” 代表前一天, –date=“-1 year” 代表上一年

    3.mac date 命令用法详解

    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]
    
    • 1
    • 2
    • 3

    参数解析:

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

    4.示例

    查看当前时间的时间戳:

    date +%s
    1658891485
    
    • 1
    • 2

    把当前时间转换为想要的格式:

    date +%Y-%m-%d-%H:%M:%S
    2022-07-27-11:13:01
    
    • 1
    • 2

    查看特定时间的时间戳:

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    时间戳转时间:

    date -r 1658851200
    20227月27日 星期三 00时00分00秒 CST
    
    • 1
    • 2

    时间戳转换成想要的格式:

    date -r 1658851200  +%Y-%m-%d:%H:%M:%S
    2022-07-27:00:00:00
    
    • 1
    • 2

    -v不使用+|-,更改对应的时间(年月日时分秒对应的参数):

    date -v5m
    20225月27日 星期五 11时16分56秒 CST
    
    date -v3H
    20227月27日 星期三 03时17分03秒 CST
    
    • 1
    • 2
    • 3
    • 4
    • 5

    使用+|-,增加|减少对应的时间:

    date -v+3m
    2022年10月27日 星期四 11时17分46秒 CST
    
    date -v+2H
    20227月27日 星期三 13时18分04秒 CST
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    DCDC直流低压升高压隔离电源模块(带短路保护)
    Vue自定义事件$emit()详解
    装配式建筑发展迎来发展新政,加快推进建筑业转型升级
    SpringBoot实现自定义environment中的value加密
    Qt 调用海康威视的SDK进行视频预览及云台控制
    跨交换机的VLAN
    相比typescript,python的动态类型有什么优缺点?
    .net 7 隐藏swagger的api
    Redis数据类型及命令
    Python爬虫(二十四)_selenium案例:执行javascript脚本
  • 原文地址:https://blog.csdn.net/zhw21w/article/details/126010972