当前位置:网站首页>显示和设置系统日期时间的date命令示例
显示和设置系统日期时间的date命令示例
2022-08-04 16:17:00 【华为云】
Date 命令有助于以多种格式显示日期。它还允许您设置系统日期和时间。
这篇文章解释了一些关于如何使用 date 命令的例子和实际的例子。
当您不带任何选项执行日期命令时,它将显示当前日期和时间,如下所示。
$ dateMon May 20 22:02:24 PDT 2013
1. 使用 –date 选项从字符串值显示日期
如果字符串中有静态日期或时间值,则可以使用 -d 或 –date 选项将输入字符串转换为日期格式,如下所示。
请注意,这不使用当前日期和时间值。而是使用您作为字符串传递的日期和时间值。
以下示例采用仅输入日期字符串,并以日期格式显示输出。如果您不指定时间,它将使用 00:00:00 作为时间。
$ date --date="12/2/2014"Tue Dec 2 00:00:00 PST 2014$ date --date="2 Feb 2014"Sun Feb 2 00:00:00 PST 2014$ date --date="Feb 2 2014"Sun Feb 2 00:00:00 PST 2014
以下示例采用输入日期和时间字符串,并以日期格式显示输出。
$ date --date="Feb 2 2014 13:12:10"Sun Feb 2 13:12:10 PST 2014
2. 使用 –file 选项从文件中读取日期模式
这类似于我们上面讨论的 -d 或 –date 选项。但是,您可以为多个日期字符串执行此操作。如果您有一个包含各种静态日期字符串的文件,您可以使用 -f 或 –file 选项,如下所示。
在此示例中,我们可以看到 datefile 包含 2 个日期字符串。datefile 的每一行都由 date 命令解析,并为每一行输出日期。
$ cat datefileSept 9 1986Aug 23 1987$ date --file=datefileTue Sep 9 00:00:00 PDT 1986Sun Aug 23 00:00:00 PDT 1987
3. 使用 –date 选项获取相对日期
您还可以使用 date 命令使用相对值获取未来日期。
例如,以下示例获取下周一的日期。
$ date --date="next mon"Mon May 27 00:00:00 PDT 2013
如果将 [email protected] 赋予 date 命令,则 date 命令将自纪元 (1970-01-01 UTC) 以来的秒数转换为日期。
它显示自 1970-01-01 UTC 纪元以来经过 5 秒的日期:
$ date [email protected] Dec 31 16:00:05 PST 1969
它显示自 1970-01-01 UTC 纪元以来经过 10 秒的日期:
$ date [email protected] Dec 31 16:00:10 PST 1969
它显示自 1970-01-01 UTC 纪元以来经过 1 分钟(即 60 秒)的日期:
$ date [email protected] Dec 31 16:01:00 PST 1969
4.显示过去日期
您可以使用 -date 命令显示过去的日期。下面显示了几种可能性。
$ date --date='3 seconds ago'Mon May 20 21:59:20 PDT 2013$ date --date="1 day ago"Sun May 19 21:59:36 PDT 2013$ date --date="yesterday"Sun May 19 22:00:26 PDT 2013$ date --date="1 month ago"Sat Apr 20 21:59:58 PDT 2013$ date --date="1 year ago"Sun May 20 22:00:09 PDT 2012
5. 使用–set 选项设置日期和时间
您可以使用 -s 或 –set 选项设置系统的日期和时间,如下所示。
在此示例中,最初它显示的时间为 20:09:31。然后我们使用 date 命令将其更改为 21:00:00。
$ dateSun May 20 20:09:31 PDT 2013$ date -s "Sun May 20 21:00:00 PDT 2013"Sun May 20 21:00:00 PDT 2013$ dateSun May 20 21:00:05 PDT 2013
5. 使用 -u 选项显示世界时
您可以使用 -u、-utc 或 -universal 选项以 UTC 格式显示日期,如下所示。
$ dateMon May 20 22:07:53 PDT 2013$ date -uTue May 21 05:07:55 UTC 2013
6. 使用 -r 选项显示上次修改时间
在本例中,当前时间为 20:25:48
$ dateSun May 20 20:25:48 PDT 2013
datefile 的时间戳是使用touch 命令更改的。这是在上述日期命令输出几秒钟后完成的。
$ touch datefile
上述touch命令后的当前时间是20:26:12
$ dateSun May 20 20:26:12 PDT 2013
最后,使用 date 命令 -r 选项显示文件的最后修改时间戳,如下所示。在此示例中,它将 datefile 的最后修改时间显示为 20:25:57。它介于 20:25:48 和 20:26:12 之间(这是我们执行上面的触摸命令来修改时间戳的时间)。
$ date -r datefileSun May 20 20:25:57 PDT 2013
7. 各种日期命令格式
您可以使用格式选项使用以下语法以各种格式显示日期命令:
$ date +%<format-option>
下表显示了各种日期命令格式选项。
Format options | Purpose of Option | Output |
---|---|---|
date +%a | Displays Weekday name in short (like Mon, Tue, Wed) | Thu |
date +%A | Displays Weekday name in full short (like Monday, Tuesday) | Thursday |
date +%b | Displays Month name in short (like Jan, Feb, Mar ) | Feb |
date +%B | Displays Month name in full short (like January, February) | February |
date +%d | Displays Day of month (e.g., 01) | 07 |
date +%D | Displays Current Date; shown in MM/DD/YY | 02/07/13 |
date +%F | Displays Date; shown in YYYY-MM-DD | 2013-02-07 |
date +%H | Displays hour in (00..23) format | 23 |
date +%I | Displays hour (01..12) format | 11 |
date +%j | Displays day of year (001..366) | 038 |
date +%m | Displays month (01..12) | 02 |
date +%M | Displays minute (00..59) | 44 |
date +%S | Displays second (00..60) | 17 |
date +%N | Displays nanoseconds (000000000..999999999) | 573587606 |
date +%T | Displays time; shown as HH:MM:SS Note: Hours in 24 Format | 23:44:17 |
date +%u | Displays day of week (1..7); 1 is Monday | 4 |
date +%U | Displays week number of year, with Sunday as first day of week (00..53) | 05 |
date +%Y | Displays full year i.e. YYYY | 2013 |
date +%Z | alphabetic time zone abbreviation (e.g., EDT) | IS |
边栏推荐
猜你喜欢
奖金池高达 20 万,RTE 2022 创新编程挑战赛正式开启
"Research Report on the Development of Global Unicorn Enterprises in the First Half of 2022" released - DEMO WORLD World Innovation Summit ended successfully
华为应用市场“图章链接”功能上线 让APP分发突破机型壁垒
荐书 | 《大脑的奥秘:人人要懂的脑科学》:大脑里面有什么
饿了么智能头盔专利获授权 进一步提升骑手安全保障
74行代码实现浪漫的红心下落的动画效果
电气成套设备行业如何借助ERP系统,解决企业管理难题?
招募 | 香港理工大学Georg Kranz 博士诚招博士
数据分析入门导读
面渣逆袭:MySQL六十六问,两万字+五十图详解
随机推荐
Many merchants mall system function and dismantling 24 - ping the strength distribution of members
吴恩达机器学习[13]-支持向量机
字节API鉴权方法
SQL语言的分类以及数据库的导入
【愚公系列】2022年07月 Go教学课程 028-函数小结案例(通讯录)
Request method ‘POST‘ not supported。 Failed to load resource: net::ERR_FAILED
生产环境重大bug,update加上索引字段会走索引进行更新?还是走全表扫描
Jenkins 如何玩转接口自动化测试?
地理标志农产品需双重保护
DocuWare Platform - Content Services and Workflow Automation Platform for Document Management (Part 1)
查看每个数据库分配给了哪些用户权限,这个有接口吗
视频字幕API接口文档
无心剑七绝《七夕牵手》
MySQL学习之运算符
PAT 甲级 A1072 Gas Station
dot net double 数组转 float 数组
What is an artifact library in a DevOps platform?What's the use?
不需要服务器,教你仅用30行代码搞定实时健康码识别
Redis的主从复制和集群
大家有没有遇到过 cdc mysql to doris只能单task,看不到具体数据流。怎么回事?