我还不满足,我想获取更多的成就感,我想输出的格式更加的国际化,我继续尝试:
| date -r 900270000 +%m/%d/%Y |
结果达到我的初步要求:
| 07/13/1998 |
我依然不满足,因为我想起了王菲和那英所唱的那首红遍大江南北的歌曲《相约98》,我觉得我也要显示98而不是1998,在那个年代,没有人会说1998年,所以我再次摸索并尝试:
| date -r 900270000 +%m/%d/%y |
大写变小写,腐朽化神奇:
| 07/13/98 |
我果然还是不满足,心里想着如果能在后面附加上具体的时间那我应该就会收手了,于是我又一气呵成的输入了如下命令:
| date -r 900270000 +%m/%d/%y %H:%M:%S |
心里想着就快完成这次愉快的操作之旅时,现实却让我尝到了失败的味道:
| date: illegal time format |
在最后关头居然发生了意外着实让我有些不太爽快,但是凭借我大学英语四级的扎实基础,我还是从报错信息中领悟出了一些端倪,再结合我多年的工作经验,我感觉应该是我新增加的那段为了输出时分秒的格式字符串%H:%M:%S所造成的。我隐约感觉到应该是它之前的那个空格导致了date命令在读取的时候误以为它们是两个独立的字符串。这种时候,按照惯例应该需要用传说中的双引号""将它们包围在一起,以表示它们是一个整体。于是我重新整理了命令:
| date -r 900270000 "+%m/%d/%y %H:%M:%S" |
这次终于可以收工了,完美的输出,完美的夜晚,再也回去不的98:
| 07/13/98 03:00:00 |
做个总结常用命令行 date
默认格式输出当前日期。 date +%Y%m%d%H%M%S
自定义格式%Y%m%d%H%M%S输出当前日期 date -r 900270000
默认格式输出时间戳:900270000对应日期 date -r 900270000 +%Y%m%d%H%M%S
自定义格式%Y%m%d%H%M%S输出时间戳:900270000对应日期 date -j 071303001998
默认格式输出日期字符串:071303001998对应的日期 date -j 071303001998 +%Y%m%d%H%M%S
自定义格式%Y%m%d%H%M%S输出日期字符串:071303001998对应的日期 date -j 071303001998 +%s
自定义格式%s输出日期字符串:071303001998对应的日期的时间戳 格式字符串含义
注意大小写代表完全不同的含义
%Y : 年(Year) %y : 年(year)后两位 %m : 月(month) %d : 日(day) %H : 时(Hour) %M : 分(Minute) %S : 秒(Second) %s : 时间戳(stamp) 日期字符串默认格式








