$ date"+%Y-%m-%d"
2019-11-26
在这种情况下,年、月和日按该顺序排列。请注意,我们使用大写字母 Y 来获得四位数的年份。如果我们使用小写的 y,则只会看到两位数字的年份(例如 19)。不要让这种做法使你错误地联想到如果 %m 给你一个数字月份,%M 可能会给你月份的名称。不,%M 将给你分钟数。要以缩写名称格式获得月份,你要使用 %b,而对于完全拼写的月份,则要使用 %B。
$ date"+%b %B"
NovNovember
或者,你可能希望以这种常用格式显示日期:
$ date"+%D"
11/26/19
如果你需要四位数的年份,则可以执行以下操作:
$ date"+%x"
11/26/2019
下面是一个可能有用的示例。假设你需要创建一个每日报告并在文件名中包含日期,则可以使用以下命令来创建文件(可能用在脚本中):
$ touchReport-`date "+%Y-%m-%d"`
当你列出你的报告时,它们将按日期顺序或反向日期顺序(如果你添加 -r)列出。
$ ls-r Report*
Report-2019-11-26
Report-2019-11-25
Report-2019-11-22
Report-2019-11-21
Report-2019-11-20
你还可以在日期字符串中添加其他详细信息。可用的各种选项多得令人惊讶。你可以使用 date "+%q" 来显示你所在的一年中的哪个季度,或使用类似以下命令来显示两个月前的日期:
$ date--date="2 months ago"
Thu26Sep201909:02:43 AM EDT
是否想知道下周四的日期?你可以使用类似 date --date="next thu" 的命令,但是要理解,对于Linux,下个周四意味着今天之后的周四。如果今天是星期三,那就是明天,而不是下周的星期四。但是,你可以像下面的第二个命令一样指定下周的星期四。
$ date--date="next thu"
Thu28Nov201912:00:00 AM EST
$ date--date="next week thu"
Thu05Dec201912:00:00 AM EST