- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Linux date命令的使用由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
1.命令简介 。
date命令用于按照指定格式显示当前时间或者指定的时间,也可以设置系统时间。很多Shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作,此时可以使用date命令来完成。在类Unix系统中,日期被存储为一个整数,其大小为协调世界时(UTC)1970年1月1日0时0分0秒起流逝的秒数,即Unix时间戳.
2.命令格式 。
1
2
|
date
[OPTION]... [+FORMAT]
date
[-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
|
其中,FORMAT为格式控制字符串,可取如下值:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
%% 字符%
%a 星期的简称(Sun~Sat)
%A 星期的全称(Sunday~Saturday)
%b 月的简称(Jan~Dec)
%B 月的全称(January~December)
%c 日期和时间(Thu 06 Dec 2018 09:43:53 AM CST)。只输入
date
指令也会显示同样的结果。
%C 世纪。和%Y比较像,但不显示最后两个数字,如20
%d 一个月的第几天(01~31)
%D 日期,等同于%m/%d/%y,如12
/06/18
%e 一个月的第几天(1~31),单数字以空格填充,等同于%_d
%F 日期,等同于%Y-%m-%d,如2018-12-06
%g 年的最后两个数字(yy),比如2018则输出18,等同于%y
%G 年份(yyyy)
%h 月的简称(Jan~Dec),等同于%b
%H 小时,24小时制(00~23)
%I 小时,12小时制(01~12)
%j 一年的第几天(001~366)
%k 小时,24小时制(0~23)。单数字填充空格,等同于%_H
%l 小时,12小时制(1~12)。单数字填充空格,等同于%_I
%m 月份(01~12)
%M 分钟(00~59)
%n 换行符newline
%N 纳秒nanoseconds(000000000..999999999)
%p 显示出AM或PM
%P 显示出am或pm
%r 显示时间,12小时制(hh:mm:ss %p)
%R 显示小时与分钟,24小时制,等同于%H:%M
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 显示秒(00~59)
%t Tab符
%T 显示时间,24小时制(hh:mm:ss),等同于%H:%M:%S
%u 一周的第几天(1..7)。1表示星期一
%U 一年的第几周,周日为每周的第一天(00..53)
%V 一年的第几周,周一为每周的第一天(01..53)
%w 一个星期的第几天(0~6),0代表星期天
%W 一年的第几周,周一为每周的第一天(00..53)
%x 日期(mm
/dd/yyyy
),如12
/06/2018
%X 时间,等同于%H:%M:%S
%y 年的最后两个数字(2018则是18)
%Y 年(yyyy)
%z 以+hhmm格式显示时区(如+0800)
%:z 以+hh:mm格式显示时区(如+08:00)
%::z 以+hh:mm:ss格式显示时区(如+08:00:00)
%Z 缩写显示时区名称,如CST(China Standard Time)
%h,%b 月的简称(Jan~Dec)
填充字符说明:默认地,
date
命令以0填充数字域,以下填充字符的控制符可以跟在%后使用:
- (hyphen,连字符):不进行填充
_ (underscore,下划线):以空格填充
0(zero)以0填充
^ 尽可能地使用大写输出
# 尽可能地按照相反的大小写进行输出
|
3.命令选项 。
1
2
3
4
5
6
7
8
9
10
|
-d, --
date
=STRING:显示由STRING指定的时间,而不是当前时间戳;
-f, --
file
=DATEFILE:显示DATEFILE文件中的每行时间;
-I[TIMESPEC], --iso-8601[=TIMESPEC]:以ISO 8601规范格式按照指定精度[TIMESPEC]显示时间。TIMESPEC默认取值为
"date"
,亦可取值
'hours'
,
'minutes'
,
'seconds'
, 或
'ns'
;
-r, --reference=FILE:显示文件的最后修改时间
-R, --rfc-2822:以RFC-2822规定格式显示时间,例如:Wed, 05 Dec 2018 22:10:34 +0800
--rfc-3339=TIMESPEC:以RFC 3339规定格式显示时间,可以由TIMESPEC指明精度,TIMESPEC可取值
'date'
,
'seconds'
, or
'ns'
。例如:2018-12-05 22:09:59.230994842+08:00
-s, --
set
=STRING:设置系统时间为STRING指定的时间
-u, --utc, --universal:显示或设定为协调世界时(UTC,Coordinated Universal Time)时间格式
--help:显示
date
命令的帮助信息
--version:显示
date
命令的版本信息
|
4.常用示例 。
(1)获取Unix时间戳.
1
2
|
date
+%s
1544067345
|
(2)将Unix时间戳转换为可读时间.
1
2
3
4
5
|
date
-d @1483525407
Wed Jan 4 18:23:27 CST 2017
date
-d @1483525407 +
"%F %T"
2017-01-04 18:23:27
|
注意:-d后需跟合法格式的日期,所以时间戳需要添加@符以示区别.
(3)格式化输出当前时间.
1
2
3
4
5
|
date
+
"%Y-%m-%d %H:%M:%S"
2018-12-06 10:57:33
#或
date
+
"%F %T"
|
(4)时间加减操作.
1
2
3
4
5
6
7
|
date
+
"%Y-%m-%d %H:%M:%S"
//
显示当前时间
date
-d
"+1 day"
+
"%Y-%m-%d %H:%M:%S"
//
显示前一天的时间
date
-d
"-1 day"
+
"%Y-%m-%d %H:%M:%S"
//
显示后一天的时间
date
-d
"-1 month"
+
"%Y-%m-%d %H:%M:%S"
//
显示上一月的时间
date
-d
"+1 month"
+
"%Y-%m-%d %H:%M:%S"
//
显示下一月的时间
date
-d
"-1 year"
+
"%Y-%m-%d %H:%M:%S"
//
显示前一年的时间
date
-d
"+1 year"
+
"%Y-%m-%d %H:%M:%S"
//
显示下一年的时间
|
(5)普通格式转换.
1
2
|
date
-d
"2009-12-12"
+
"%Y/%m/%d %H:%M:%S"
2009
/12/12
00:00:00
|
(6)设置系统时间.
1
2
3
4
5
|
date
-s
"2016-11-11 00:00:00"
Fri Nov 11 00:00:00 CST 2016
date
Fri Nov 11 00:00:05 CST 2016
|
以上就是Linux date命令的使用的详细内容,更多关于Linux date命令的资料请关注我其它相关文章! 。
原文链接:https://cloud.tencent.com/developer/article/1376767 。
最后此篇关于Linux date命令的使用的文章就讲到这里了,如果你想了解更多关于Linux date命令的使用的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
数据框有一个字符串类型的日期列 '2017-01-01' 它被转换为 DateType() df = df.withColumn('date', col('date_string').cast(Dat
这个问题在这里已经有了答案: What is "x && foo()"? (5 个答案) 关闭 8 年前。 我在 bootstrap-datepicker.js 文件中遇到过这个。 作者在_setD
我有一个数据库 utc 字符串,我正在传递到 Date(attrs.endDate),然后通过 new Date() 减去当前的 utc 日期,但我无法得到它来为我提供 2 个 utc 日期的正确差异
这个问题在这里已经有了答案: how to determine if 2 dates object equals each other? [duplicate] (3 个答案) 关闭 6 年前。 我
这个问题已经有答案了: How can I convert "/Date(1399739515000)/" into date format in JavaScript? (3 个回答) 已关闭 8
根据MDN ,我们只能将以下类型的参数传递给 Date 构造函数: new Date(); new Date(value); // Unix timestamp new Date(dateString
我从表中获取所有项目: endDate >= 现在 endDate 为 NULL published 等于 1。 这是我所拥有的,但它给了我 0 个项目: $items = Items::orderB
此查询需要很长时间才能完成。当我将 WHERE 子句设置为 new_dl >= '2014-01-01' 时,查询大约需要 6 分钟才能浏览大约 3 个月的数据。现在不知道为什么这个应该从 12 个月
我有一个正在为项目开发的小型 Java 程序,它使用 JavaMail 从指定的 URI 中提取用户的收件箱,然后开始处理消息。 在 Outlook 中,属性菜单中有一个功能可以设置邮件的到期日期,它
我想在获取 Date.getHours()、Date.getMinutes() 和 Date.getSeconds() 的值后格式化输出>. 这是一条漫长的路: var dt = new Date()
我发现java.text.DateFormat有两种格式化日期的方法。一种是采用 Date 参数,另一种是采用 Object 参数。我检查了DateFormat源代码,似乎他们调用了不同的内部方法。
我有两个对象,p4 和 p5,它们都具有 Date 属性。在某些时候,构造函数工作正常: p4.setClickDate(new Date(System.currentTimeMillis() - 8
我是使用 Sequelize 和 Node.js 的新手,但我的代码中存在日期比较问题。 User.findOne({ where: { resetToken: passwordToken,
我正在使用一个名为 fullcalendar 的 jquery 日历。当用户单击某一天时,他们将被发送到另一个页面以创建该天的事件。单击的日期作为 date 提供。然后通过下面的函数运行将其转换为 U
我有一个列表列表,每个列表中都有整数值,代表 8 年期间的日期。 dates = [[2014, 11, 14], [2014, 11, 13], ....., [2013, 12, 01]
我有两个表: 首先是TimeValues(示例) time | value 12/28/18 | 5.6 01/03/19 | 5.6 01/04/19 | 5.6 01/09/19 | 5.
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
像这样实例化的日期对象: new Date("2011-12-13") 返回一个认为自己是星期一的日期对象: Date {Mon Dec 12 2011 16:00:00 GMT-0800 (PST)
我需要选择入住日期和退房日期在指定日期范围之间的房价。这些费率根据其条件单独命名。房费取决于所选日期。这是我的代码: rate_eb rate_name rate_starts rat
我有 [Int64:[String:String]] 其中 Int64 是时间戳。如何检测和删除 [String:String] 中的参数之一是 ["name"] = "test" 并重复多次的同一天
我是一名优秀的程序员,十分优秀!