【Linux】date命令用法详解(日期格式)
inux下date命令用法
- date [OPTION]… [+FORMAT]
- date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
date命令参数
- -d, –date=STRING 显示STRING指定的时间
- -f, –file=DATEFILE 类似–date参数显示DATEFILE文件中的每行时间
- -ITIMESPEC, –iso-8601[=TIMESPEC] 以ISO 8601 格式显示日期/时间。TIMESPEC为”date”(只显示日期)、”hours”、”minutes”、”senconds”(显示时间精度)之一,默认为”date”。
- -r, –reference=FILE 显示文件的最后修改时间
- -R, –rfc-2822 以RFC-2822兼容日期格式显示时间
- -s, –set=STRING 设置时间为STRING
- -u, –utc, –universal 显示或设定为Coordinated Universal Time时间格式
date命令输出显示格式
- %% 字符%
- %a 星期的缩写(Sun..Sat)
- %A 星期的完整名称 (Sunday..Saturday)
- %b 月份的缩写(Jan..Dec)
- %B 月份的完整名称(January..December)
- %c 日期时间(Sat Nov 04 12:02:33 EST 1989)
- %C 世纪(年份除100后去整) [00-99]
- %d 一个月的第几天(01..31)
- %D 日期(mm/dd/yy)
- %e 一个月的第几天 ( 1..31)
- %F 日期,同%Y-%m-%d
- %g 年份(yy)
- %G 年份(yyyy)
- %h 同%b
- %H 小时(00..23)
- %I 小时(01..12)
- %j 一年的第几天(001..366)
- %k 小时( 0..23)
- %l 小时( 1..12)
- %m 月份(01..12)
- %M 分钟(00..59)
- %n 换行
- %N 纳秒(000000000..999999999)
- %p AM or PM
- %P am or pm
- %r 12小时制时间(hh:mm:ss [AP]M)
- %R 24小时制时间(hh:mm)
- %s 从00:00:00 1970-01-01 UTC开始的秒数
- %S 秒(00..60)
- %t 制表符
- %T 24小时制时间(hh:mm:ss)
- %u 一周的第几天(1..7); 1 表示星期一
- %U 一年的第几周,周日为每周的第一天(00..53)
- %V 一年的第几周,周一为每周的第一天 (01..53)
- %w 一周的第几天 (0..6); 0 代表周日
- %W 一年的第几周,周一为每周的第一天(00..53)
- %x 日期(mm/dd/yy)
- %X 时间(%H:%M:%S)
- %y 年份(00..99)
- %Y 年份 (1970…)
- %z RFC-2822 风格数字格式时区(-0500)
- %Z 时区(e.g., EDT), 无法确定时区则为空
以下是做的一些实验,便于理解
01
02
03
04
05
06
07
08
09
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
|
$ date -d "2010-11-15 23:00:01" Mon Nov 15 23:00:01 PST 2010 $ date -d "2010/11/15 23:0:2" Mon Nov 15 23:00:02 PST 2010 $ date -d "2010/11/15T23:0:2" Mon Nov 15 08:00:02 PST 2010 $ $ echo "2010-11-15 23:00:01" > date.txt $ echo "2010/11/15 23:00:02" >> date.txt $ cat date.txt 2010-11-15 23:00:01 2010/11/15 23:00:02 $ date -f date.txt Mon Nov 15 23:00:01 PST 2010 Mon Nov 15 23:00:02 PST 2010 $ $ ls -l total 4 -rw-r--r-- 1 znan sybase 40 Nov 15 21:14 date.txt $ date -r date.txt Mon Nov 15 21:14:36 PST 2010 $ $ date -I 2010-11-15 $ date -Ihours 2010-11-15T21-0800 $ date -Iminutes 2010-11-15T21:16-0800 $ date -Iseconds 2010-11-15T21:16:24-0800 $ $ date -R Mon, 15 Nov 2010 21:47:08 -0800 $ date -u Tue Nov 16 05:47:13 UTC 2010 $ $ date +"Today is %A." Today is Monday. $ date +"Date:%b. %e, %G" Date:Nov. 15, 2010 $ date +"Date: %b.%e, %G" Date: Nov.15, 2010 $ date +"%x %X" 11/15/2010 09:50:21 PM $ date +"%Y-%m-%d %H:%M:%S" 2010-11-15 21:51:32 $ date +"%Y-%m-%d %I:%M:%S %p" 2010-11-15 09:51:55 PM $ |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?