Linux - Shell - date

  1. 概述
    1. date 命令
  2. 准备
    1. OS
      1. CentOS 7.6
  3. 基本功能
    1. 显示时间
    2. 格式化时间
    3. 翻译时间
    4. 转换时间格式
    5. 切换时区
    6. 设置时间
    7. 查看文件最后使用时间

1. 显示时间

  1. 概述
    1. 基本功能
  2. 命令

    # 内容: 星期 月份 日期 时间 时区 年份
    # 时间: 输入命令的事件
    > date
    Thu Oct 10 18:31:11 CST 2019
  3. 疑问
    1. 问题 1
      1. 假如, 我想要输出时间
        1. 但是默认给我的格式, 我不想要
      2. 当然可以啦
        1. date 命令支持设置格式

2. 格式化时间

  1. 概述
    1. 默认格式不能满足要求
      1. 没关系, 格式可以调的
      2. 总有一款适合你
  2. 命令1

    > date
    Thu Oct 10 19:01:11 CST 2019
    > date -I
    2019-10-10
    > date -R
    Thu, 10 Oct 2019 19:01:16 +0800
  3. 什么, 这些东西, 你都不要
    1. 好吧, 办法还是有的
  4. 命令2

    # 格式
    # 1. + 开头
    # 2. "" 跟在 + 后面
    # 3. 里面的格式占位符, 是以 % 开头
    # 4. 里面的内容, 可以*组合
    > date +"%Y-%m-%d %H:%M:%S"
    2019-10-10 19:05:00
    # 甚至想要中文, 都是可以的
    > date +"今年是 %Y, 今天是 %m 月 %d 日, 现在是 %H 点 %M 分 %S 秒"
    今年是 2019, 今天是 10 月 10 日, 现在是 19 点 07 分 43 秒
  5. 还是没有你要的格式?
    1. 没关系
    2. 命令

      # 内容不少, 我就不废话了
      > date --help
    3. 里面有各种格式
      1. 通过各种格式占位符, 以及字符串的组合, 肯定能生成你想要的内容

3. 翻译时间

  1. 概述
    1. 以今天为基准, 将相对时间, 翻译成绝对时间
    2. 转换日期格式
  2. 命令 1: 获取相对日期

    # 1. -d 作为参数
    # 2. "" 内部, 作为相对时间
    # 3. 模式: -/+ 数量 时间单位
    > date -d "+1 minutes"
    Thu Oct 10 19:12:19 CST 2019
    > date -d "-1 minutes "
    Thu Oct 10 19:10:29 CST 2019
    > date -d "-1 minute"
    Thu Oct 10 19:10:38 CST 2019
    > date -d "-2 minute"
    Thu Oct 10 19:09:41 CST 2019
    > date -d "+1 day"
    Fri Oct 11 19:12:01 CST 2019
    > date -d "+1 week"
    Thu Oct 17 19:12:04 CST 2019
    > date -d "+1 month"
    Sun Nov 10 19:12:12 CST 2019
    > date -d "+1 year"
    Sat Oct 10 19:12:20 CST 2020

    4. 转换时间格式

  3. 概述
    1. 将时间从一种格式, 转换为 另一种格式
  4. 命令 1: 转换日期格式

    > date -d "2019-10-10" +"%Y/%m/%d %H:%M.%S"
    2019/10/10 00:00.00
    > date -d "Thu, 10 Oct 2019 20:56:46 +0800" +"%Y-%m-%d %H:%M.%S"
    2019-10-10 20:56.46

5. 时区

  1. 概述
    1. 将同一个时间点, 以不同时期展现
  2. 命令

    # 默认是系统所在的时区
    > date 
    Thu Oct 10 21:01:48 CST 2019
    # 使用 utc 时区
    > date -u
    Thu Oct 10 13:02:16 UTC 2019
    # 显示 洛杉矶的时间
    > TZ='America/Los_Angeles' date
    Thu Oct 10 06:15:43 PDT 2019

6. 设置时间

  1. 概述
    1. 设置系统时间
  2. 命令

    > date -s "2019-10-10 22:22:00"
    Thu Oct 10 22:22:00 CST 2019

7. 查看最近使用时间

  1. 概述
    1. 展示文件最后修改时间
  2. 命令

    > date -r <file>

8. 其他

  1. date -f
    1. 连续 -d
      1. 文件里可以跟 字符串
      2. 每个 字符串, 作为 -d 的参数
    2. 有空可以看看
  2. 时区
    1. 时区在 linux 有一整套命令可以配置
    2. 以后有空再看吧
上一篇:PTA(Basic Level)1014.福尔摩斯的约会 && PTA(Advanced Level)1061.Dating


下一篇:THU CST 的零基础代码学习 - 序