myfreax

Linux date命令详解教程

date命令用于显示或设置系统日期。它最常用于以不同格式打印日期和时间

  • myfreax
5 min read
By myfreax
Linux date命令详解教程
Linux date命令示例

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命令有一个很好的了解。如果您有任何问题或反馈,请随时发表评论。

内容导航

玻璃钢生产厂家庆阳仿真人物玻璃钢雕塑设计宁德玻璃钢雕塑凳子天津动物玻璃钢雕塑价格玻璃钢雕塑美观精巧定西广场玻璃钢雕塑制作唐山玻璃钢仿铜雕塑定制安阳玻璃钢浮雕雕塑价格报价玻璃钢雕塑绚丽非凡银川玻璃钢雕塑制作拱墅区玻璃钢雕塑企业湖南镂空校园玻璃钢景观雕塑公司北京财神爷人物玻璃钢雕塑玻璃钢桶雕塑效果图学雕塑玻璃钢玻璃钢雕塑市场分析建邺主题商场美陈商场美陈创意设计吊挂廊坊牢固玻璃钢座椅雕塑张掖城市玻璃钢雕塑制作广场玻璃钢ip雕塑制作仿真火龙果玻璃钢雕塑长寿玻璃钢雕塑定制佛山玻璃钢仿铜人物雕塑昆明景区玻璃钢雕塑定制山东开业商场美陈销售企业伊犁玻璃钢雕塑定制鹤壁专业玻璃钢雕塑佛山玻璃钢雕塑报价表河南公园玻璃钢雕塑哪家便宜广州玻璃钢花盆市场报价香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化