欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

mac date命令 有大用 有大大用 有大大大用

mac date命令

usage: date [-jnu] [-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的格式一致

下面是一些示例:

查看当前时间的时间戳(也就是转换成秒)

-deMacBook-Pro:~ -$ date +%s
1460707049
       

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

-deMacBook-Pro:~ -$ date +%Y-%m-%d:%H:%M:%S
2016-04-15:16:48:04
       

查看特定时间的时间戳

-deMacBook-Pro:~ -$ date -j -f %Y-%m-%d 2015-09-28 +%s
1443427891
       

时间戳转时间

-deMacBook-Pro:~ -$ date -r 1443429736
2015年 9月28日 星期一 16时42分16秒 CST
       

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

-deMacBook-Pro:~ -$ date -r 1460710262 +%Y-%m-%d:%H:%M:%S
2016-04-15:16:51:02
       

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

-deMacBook-Pro:~ -$ date -v5m
2016年 5月15日 星期日 16时53分21秒 CST
-deMacBook-Pro:~ -$ date -v2H
2016年 4月15日 星期五 02时56分45秒 CST
       

使用+:增加对应的时间

-deMacBook-Pro:~ -$ date -v+2m
2016年 6月15日 星期三 17时01分00秒 CST
       

使用-:减少对应的时间

-deMacBook-Pro:~ -$ date -v-2m
2016年 2月15日 星期一 17时01分03秒 CST
       

-f:需要在-f前加-j    (  这里 -j -f 这个好像不是设置 时间日期的,是为了显示时间和日期的  )

-deMacBook-Pro:~ -$ date -j -f %Y-%m-%d 2015-09-28
2015年 9月28日 星期一 17时36分51秒 CST
-deMacBook-Pro:~ -$ date
2016年 4月15日 星期五 17时36分56秒 CST
bbbb-admin
$ date -j -f "%Y-%m-%d %H:%M:%S" "2022-10-08 08:10:20"
2022年10月 8日 星期六 08时10分20秒 CST

 这里 -v 这个好像也不是设置 时间日期的,也是为了显示时间和日期的
-deMacBook-Pro:~ -$ date -v5m
2016年 5月15日 星期日 16时53分21秒 CST
       

[[[mm]dd]HH]MM[[cc]yy][.ss]:这一长串确实不知道是怎么用的。

cc      Century (either 19 or 20) prepended to the abbreviated year.

yy      Year in abbreviated form (e.g., 89 for 1989, 06 for 2006).

mm      Numeric month, a number from 1 to 12.

dd      Day, a number from 1 to 31.

HH      Hour, a number from 0 to 23.

MM      Minutes, a number from 0 to 59.

ss      Seconds, a number from 0 to 61 (59 plus a maximum of two leap seconds).


来自  https://www.cnblogs.com/qwj-sysu/p/5396372.html




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
   

来自  https://www.cnblogs.com/amyzhu/p/10177086.html



mac/linux常用命令之date


date:用来显示或设置系统时间
用法:date [optional] [para]

optional

-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号; 
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号; 
-u:显示GMT; 
--help:在线帮助; 
--version:显示版本信息。

参数

1:显示时间

1:%r 12小时(相当于hh:mm:ss %p)
2:%T 24小时(相当于hh:mm:ss)
3:%c:日期和时间
5:%x,%D:日期(mm/dd/yy)

image.png

2:年月日分钟小时

1:%Y 完整显示年份如2017
2:%y 显示年份后两位 如17
3:%m,%h,%b 显示月份(01-12)
4:%B 月份全称(十一月)
5:%d 一个月的第几天(01-31)
6:%j 一年的第几天(001-366)
7:%M 分钟
8:%S 秒

image.png

3:显示小时参数

1:%H(00-23小时)
2:%I(01-12小时)
3:%k(0-23小时)
4:%l(1-12小时)

image.png

4:am/pm

%p 显示am或pm

image.png

5:周

1:%a 星期的简称
2:%A 星期的全程
3:%w 一周的第几天
4:%W -年的第几个星期

image.png

6:其他显示时间的参数

1:%s 从1970年1月1日00:00:00到目前经历的秒数
2:%X 时间格式(%H:%M:%S)
3:%Z 时区

image.png

示例:
1:格式化输出当前时间
image.png

2:输出前(后)一天的时间

mac : date -v -(+)1d +%Y-%m-%d
d:天 m:月 y:年
linux:date -d "1(-)day ago" +"%Y-%m-%d"
day:天 month:月 year:年

image.png

3:转换秒

mac:date -r 1234567890
linux :date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%m:%S"

4:普通格式转化

mac:date -j -f %Y-%m-%d 2017-09-28
linux:date -d "2017-09-28" +"%Y-%m-%d"

5:mac特殊参数,增加或减少对应时间
image.png

文章知识点与官方知识档案匹配,可进一步学习相关知识
普通分类: