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其中一個分支。

共同點

基本的時間格式的縮寫是相同的,規則如下:

  • %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命令用法詳解

usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
            [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]

參數解析

-j:使用-j才能使用-f

-n:默認情況下,如果定時進程正在運行,date命令會在本地組的所有機器設置時間。-n可以禁止這種行為,表示只設置當前計算機。

-u:顯示或者設置日期為UTC(世界協調時鍾)時間

-d:設置內核的時區,一般不使用

-r:秒轉換時間

-t:(time zone)時區設置(GMT時區)

-v:根據參數調整時間

  • 不使用+|-,更改對應的時間
  • 使用+:增加對應的時間
  • 使用-:減少對應的時間

-f:根據格式調整時間

+:+號引導的一些格式,和正常的Linux格式一致。

使用示例

(1)查看當前時間戳(即轉換成秒):

➜  ~ date +%s
1545705798

(2)當前時間轉換指定格式

➜  ~ date +%Y-%m-%d-%H:%M:%S
2018-12-25-10:46:04

(3)時間戳轉時間

➜  ~ date -r 1545705922
Tue Dec 25 10:45:22 CST 2018


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM