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

mac date命令详解的更多相关文章

  1. date命令详解

    基础命令学习目录首页 原文链接:https://www.cnblogs.com/qmfsun/p/4598650.html date "+今天是%Y-%d-%m,现在是%H:%M:%S&qu ...

  2. Linux date命令详解

    1.显示时间 date命令可以按照指定格式显示日期,只键入date则以默认格式显示当前时间.如下: 如果需要以指定的格式显示日期,可以使用“+”开头的字符串指定其格式,详细格式如下: %n : 下一行 ...

  3. date命令详解与练习

    date : 用来打印或设置系统日期和时间. 它在linux shell编程中经常会用到.比如每天生成随日期变化的档案名,尤其在银行业务中每天都会生成流水文件.eg:datefile=$(date & ...

  4. linux之date命令详解

    date命令的用处 1.用于显示特殊的时间格式,可以用于对日志文件的命名 2.用于设置时间 ,不过这方面用的比较少,因为一般的服务器都设置的有自动同步网络时间 用法: date [OPTION]... ...

  5. linux系统date命令详解

    Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟.系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟, ...

  6. date 命令详解

    date - print or set the system date and time Display the current time in the given FORMAT, or set th ...

  7. 00007 - Linux时间date命令详解

    1.命令:date 2.命令功能:date 可以用来显示或设定系统的日期与时间. 3.命令参数 -d<字符串>:显示字符串所指的日期与时间.字符串前后必须加上双引号: -s<字符串& ...

  8. Shell date 命令详解

    格式: date [选项] ... [+格式] 选项说明: -d ,--date=字符串 显示指定字符串所描述的时间 格式说明: 例子1: #!/bin/bash ##. 获取当前系统时间 YYYY- ...

  9. Linux/Mac vi命令详解

    刚开始学着用Linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指 ...

随机推荐

  1. iOS逆向开发(0):修改二进制代码与重签名 | hopper | codesigh

    小白:小程,你知道有些iOS程序是没人性的吗?老是不按我的意愿来运行! 小程:我怎么知道你的意愿就是有人性的? 本文解决一个问题:修改别人的二进制程序并运行起来. 让别人的程序按你的意愿来运行,文明一 ...

  2. vue-12-element组件库

    1, 官网: http://element.eleme.io/#/zh-CN 2, 安装 npm i element-ui -S i : install,   -S  --save-dev 的简写 3 ...

  3. Go基础系列:流程控制结构

    条件判断结构:if else 分支选择结构:switch case 循环结构:for break:退出for或switch结构(以及select) continue:进入下一次for迭代 虽然Go是类 ...

  4. 华为交换机以 LACP 模式实现链路聚合

    LACP 链路聚合模式简介 以太网链路聚合是指将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的.链路聚合分为手工模式和LACP模式. LACP模式需要有链路聚合控制协议LAC ...

  5. Python爬虫之足球小将动漫(图片)下载

      尽管俄罗斯世界杯的热度已经褪去,但这届世界杯还是给全世界人民留下了无数难忘的回忆,不知你的回忆里有没有日本队的身影?本次世界杯中,日本队的表现让人眼前一亮,很难想象,就是这样一只队伍,二十几年还是 ...

  6. Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用

    系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Windows:Window 10 Visual Studio:201 ...

  7. 判断本机ip是电信还是网通

    string location = "0";//0是网通 1是电信 Uri uri = new Uri("http://www.ip138.com/ips138.asp& ...

  8. spring boot 使用第三方jar的方法

    2018/02/02 更新 mvnrepository.com已经提供了ms jdbc 的jar URL: http://mvnrepository.com/artifact/com.microsof ...

  9. Maven私服 Nexus使用一例

    一.背景 本次搭建Nexus的私服是为了解决两件事 1.公司网络限制,部分项目组同事无法直接访问互联网,不能直接下载一些依赖的jar文件; 2.一些独立的jar无法通过Maven添加依赖的方式引入到项 ...

  10. c# 溢出上下文检测

    对于类型转换是否溢出可以用 checked和unchecked运算符 在unchecked上下文中会忽略溢出 在checked 会抛出异常 ; byte sb; sb = unchecked((byt ...