0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解date命令的基础知识

CHANBAEK 来源: myfreax 作者: myfreax 2023-01-04 17:07 次阅读

date命令用于显示或设置系统日期。它最常用于以不同格式打印日期和时间,并计算将来和过去的日期。

在本教程中,我们将详解date命令的基础知识。date命令的语法形式是date [OPTION]... [+FORMAT]

date命令默认使用系统时区。要使用其他时区,请将环境变量TZ设置为所需时区。

要使用默认格式显示当前系统时间和日期,请在不指定任何选项参数运行date命令。

输出将包括星期几,月份,月份,时间,时区和年份Sat Jun 1 14:31:01 CEST 2019

date

date 命令时间日期格式化

date命令的输出,可以使用一系列格式控制字符,+符号进行格式化。格式控件以%符号开头,并由其值代替。

%Y字符将会被年份替换,%m将会被月份替换,%d与将会被天替换,命令输出将会是这样Year: 2019, Month: 06, Day: 02

date +"Year: %Y, Month: %m, Day: %d"
Year: 2019, Month: 06, Day: 02
date "+DATE: %D%nTIME: %T"
DATE: 12/26/22
TIME: 11:30:05

这是一些最常见的格式字符。

%a是星期几的简称,例如命令date "+%a",见会打印的是Mon。

%A是星期几的全称,例如命令date "+%A"将会打印Monday。

%b是月份的简写,例如命令date "+%b"将会打印Jan。

%B月份的全称,例如命令date "+%B"将会打印December。

%d当前日期的天数,例如命令date "+%d"将会打印26。

%D是完整的月/日/年的简写,例如命令date "+%D"将会打印12/26/22。

%H是24小时制00..23,例如命令date "+%H"将会打印12。

%I是12小时制01..12,例如命令date "+%I"将会打印12。

%j一年中的某天001..366,例如命令date "+%j"将会打印360。

%m是月份01..12,例如命令date "+%m"将会打印12。

%M是分钟00..59,例如命令date "+%M"将会打印45。

%S00..60秒,例如命令date "+%S"将会打印21。

%u1..7的星期几。例如命令date "+%u"将会打印1。

%Y是当前数字年份,例如命令date "+%Y"将会打印2022。

要获取所有格式选项的完整列表,请在您的终端上运行date --help或运行man date

格式化日期时间

-d选项允许您使用指定日期进行操作。可以将日期解释为易于理解的日期字符串,也可以指定自定义的格式。

日期字符串还可以接受诸如“tomorrow”, “friday”, “last friday” “next friday”, “next month”, “next week”等值。

由于date命令默认使用系统时区。要使用其他时区,请将环境变量 TZ设置为所需时区。

要列出所有可用时区,可以列出/usr/share/zoneinfo目录文件或运行命令timedatectl list-timezones

date -d '16 Dec 1974' +'%A, %d %B %Y'
date -d "last week"
date -d 'TZ="Australia/Sydney" 06:30 next Monday'

Unix 时间戳转换器

date命令可用作纪元转换器,也就是Unix时间戳。Unix时间戳是自1970年1月1日UTC时间00:00:00起经过的秒数。

要打印从纪元到当前日期的秒数,请使用date命令%s格式控件,也就是命令date +%s

要将纪元以来的秒转换为日期,请使用date命令的-d选项,并在Unix时间戳添加前缀@

date +%s
date -d @1234567890
Sat Feb 14 00:31:30 CET 2009

日期与文件名

date命令最常用于创建包含当前时间和日期的文件名。例如使用日期作为文件名创建Mysql备份文件。

要在Shell脚本中使用date命令的时间作为文件名,一种方式创建日期时间的变量然后作为文件名称。

例如命令date_now=$(date "+%F-%H-%M-%S")格式化日期并分别给date_now变量。

当然也可以直接在文件名中使用date命令的格式化日期作为文件名称,例如命令mysqldump database_name > database_name-$(date +%Y%m%d).sql

date_now=$(date "+%F-%H-%M-%S")
mysqldump  database_name > database_name-$(date +%Y%m%d).sql

文件最后修改时间

date命令的-r选项也可以用于打印文件的最后修改时间。例如命令date -r etc/hosts打印etc/hosts文件最后修改时间。

如果要修改文件时间戳,请使用touch命令。

date -r etc/hosts

设置系统时间和日期

通常不建议使用date命令手动设置系统时间和日期,因为在大多数Linux发行版中,系统时钟使用ntpsystemd-timesyncd服务进行同步。

但是,如果要手动设置系统时钟,可以使用date命令的--set选项。

例如命令date --set="20190601 17:30"将日期和时间设置为2019年6月1日下午5:30。

结论

至此,您应该对如何在Linux使用date命令有一个很好的了解。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206738
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21849
收藏 人收藏

    评论

    相关推荐

    射极耦合逻辑(ECL)基础知识详解

    本帖最后由 gk320830 于 2015-3-9 21:49 编辑 射极耦合逻辑(ECL)基础知识详解ECL(Emitter Coupled Logic),中文译名“射极耦合逻辑”,是一种
    发表于 08-07 11:48

    阻抗匹配基础知识详解 简直新手的好老师超级详细

    阻抗匹配基础知识详解简直新手的好老师超级详细
    发表于 04-08 13:48

    【转】变压器基础知识_制作流程_详解

    变压器基础知识_制作流程_详解
    发表于 08-05 21:35

    Linux的基础知识命令

    Linux基础知识命令
    发表于 06-14 06:39

    鸿蒙移植必备的基础知识

    1. 基础知识移植内核对技术的要求比较高、比较细。1.1 单片机相关的知识栈的作用加载地址、链接地址重定位几个简单的硬件知识串口定时器中断的概念1.2 Linux操作相关的知识Linu
    发表于 07-01 06:35

    PLC入门必看基础知识

    PLC基础知识(PLC入门必看)与C语言有什么关系_plc可以用c语言编程吗_plc的C语言编程详解
    发表于 09-09 08:39

    电子元器件基础知识详解

    电子元器件基础知识详解
    发表于 10-08 20:13 366次下载

    CAM填铜皮命令详解

    CAM填铜皮命令详解
    发表于 01-28 23:28 0次下载

    安防技术基础知识名词详解大全

    安防技术基础知识名词详解大全 垂直同步、彩色视频复合信号同步、外同步、直流线锁定和完
    发表于 12-29 12:19 706次阅读

    linux /Android 基础知识总结大全

    本文档介绍了linux /Android 基础知识总结大全,包含了源代码以及详解,供网友参考。
    发表于 09-11 17:46 7次下载

    FreeRTOS基础知识详解pdf下载

    FreeRTOS基础知识详解
    发表于 03-29 14:36 45次下载

    机器视觉基础知识详解模板

    机器视觉基础知识详解模板下载。
    发表于 05-28 14:48 12次下载

    详解射频微波基础知识

    详解射频微波基础知识
    的头像 发表于 01-29 10:28 1851次阅读

    一文详解差分线的基础知识

    整个基础知识体系中,差分线(对)是很难搞的部分,却是最常用的部分。说到差分线基础知识,里面的概念很多,记得刚接触的时候,奇模&共模有时候会搞不清楚。
    的头像 发表于 03-22 09:17 3951次阅读

    无功补偿原理基础知识详解

    无功补偿原理基础知识详解
    的头像 发表于 08-11 09:48 534次阅读
    无功补偿原理<b class='flag-5'>基础知识</b><b class='flag-5'>详解</b>