详解date命令的基础知识

date命令用于显示或设置系统日期。它最常用于以不同格式打印日期和时间,并计算将来和过去的日期。
在本教程中,我们将详解date命令的基础知识。date命令的语法形式是date [option]... [+format]。
date命令默认使用系统时区。要使用其他时区,请将环境变量tz设置为所需时区。
要使用默认格式显示当前系统时间和日期,请在不指定任何选项参数运行date命令。
输出将包括星期几,月份,月份,时间,时区和年份sat jun 1 14:31:01 cest 2019。
datedate 命令时间日期格式化date命令的输出,可以使用一系列格式控制字符,+符号进行格式化。格式控件以%符号开头,并由其值代替。
%y字符将会被年份替换,%m将会被月份替换,%d与将会被天替换,命令输出将会是这样year: 2019, month: 06, day: 02。
date +year: %y, month: %m, day: %dyear: 2019, month: 06, day: 02date +date: %d%ntime: %tdate: 12/26/22time: 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。
%s是00..60秒,例如命令date +%s将会打印21。
%u是1..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 weekdate -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 +%sdate -d @1234567890sat 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发行版中,系统时钟使用ntp或systemd-timesyncd服务进行同步。
但是,如果要手动设置系统时钟,可以使用date命令的--set选项。
例如命令date --set=20190601 17:30将日期和时间设置为2019年6月1日下午5:30。
结论至此,您应该对如何在linux使用date命令有一个很好的了解。

液位传感器和液位开关控制器有哪些不同
区块链将会如何改变各行各业
超薄玻璃OLED新技术 比人的头发丝还要细
信息化建设持续推进 菲菱科思迎来发展机遇期
XR虚拟拍摄出现双XR新玩法啦!想知道有什么不同?来偷听秀儿小狐的聊天吧(小声)!
详解date命令的基础知识
超全面锂电材料常用表征技术及经典应用举例
陶瓷线路板不同材料的热膨胀系数对结合力的影响
介绍三款最新发布的三轴MEMS加速度计产品
一加5什么时候上市最新消息:一加5手机发布会4大亮点提前看,外观设计、硬件配置、拍照、系统堪称完美
华为MatePod曝光将可能与华为P40系列一同发布
中国移动正式发布2019-2020年数据链路采集设备集采招标公告
用发展的眼光看问题
小米推出了Amazfit Neo智能手表
基于TMS320LC31和数字下变频器实现多路中频数字化直扩系统的的设计
基于MCU+FPGA的RFID读写器设计
可编程阵列逻辑(Programmable Array Log
小米5X、小米MIUI9最新消息汇总:小米5X、MIUI9发布会四大亮点提前看,值得期待
压力变送器如何进行安装和故障维修
功放与音箱如何匹配