当前位置: 首页 > 科技观察

在终端中以您的方式显示日期和时间

时间:2023-03-14 14:51:05 科技观察

Linux中的date命令提供了许多用于显示日期和时间的选项,比您想象的要多。这里有一些有用的选项。在Linux系统上,date命令非常简单。您键入日期,日期和时间将以有用的方式显示。它包括星期几、日期、时间和时区:$dateTue26Nov201911:45:11AMEST只要您的系统配置正确,您就会看到日期以及当前时间和时区。但是,该命令还提供了多个选项以不同方式显示日期和时间信息。例如,如果要显示日期以进行排序,您可能需要使用如下命令:$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-rReport*Report-2019-11-26Report-2019-11-25Report-2019-11-22Report-2019-11-21Report-2019-11-20您还可以在日期字符串中添加其他详细信息。可用选项的多样性是惊人的。你可以使用date"+%q"来显示你所在的季度,或者使用类似这样的东西来显示两个月前的日期:$date--date="2monthsago"Thu26Sep201909:02:43AMEDT想知道下周四的日期吗?您可以使用date--date="nextthu"之类的命令,但要了解对于Linux,下周四意味着今天之后的周四。如果今天是星期三,那就是明天,而不是下周的星期四。但是,您可以像下面的第二个命令一样指定下周的星期四。$date--date="nextthu"Thu28Nov201912:00:00AMEST$date--date="nextweekthu"Thu05Dec201912:00:00AMESTdate命令的手册页列出其所有选项。该列表令人难以置信,但您可能会发现某些日期/时间显示选项正适合您。以下是一些您可能会感兴趣的内容。CoordinatedUniversalTime(UTC):$date-uTue26Nov201901:13:59PMUTC自1970年1月1日以来的秒数(与Linux系统上日期的存储方式有关):$date+%s1574774137下面是日期命令选项的完整列表。正如我所说,它比我们大多数人想象的要广泛得多。%%DisplayLetter%%aLocale的缩写星期名称(例如Day/Sun)%ALocale的完整星期名称(例如Sunday/Sunday)%bLocale的缩写月份名称(例如One/Sunday)Jan)%Blocale的完整的月份名称(例如January)%c语言环境的日期和时间(例如ThuMar323:05:252005/ThuMar323:05:252005)%C世纪;类似于%Y,但省略最后两位数字(例如20)%d月中的某天(例如01)%D天;与%m/%d/%y%e相同,用前导空格填充;与%_d%F完整日期相同;与%Y-%m-%d%gISO周数的最后两位数字相同(参见%G)%GISO周数年份(参见%V);通常只与%V%h一起使用与%b%H24小时制(00..23)%I12小时制(01..12)%j一年中的某一天(001..366)%k24小时格式的小时,用前导空格(0..23)填充;与12小时格式的%_H%lHour相同,以前导空格(1..12)填充;与%_I相同%m月(01..12)%M分钟(00..59)%n换行符%N纳秒(000000000..999999999)%p相当于语言环境中的AM或PM的字符串;如果未知则为空白%P与%p类似,但为小写%q季度(1..4)%r区域设置的12小时时间(例如,11:11:04PM/11:11:04PM)%R24小时小时和分钟;与%H:%M%s自1970-01-0100:00:00UTC%S秒(00..60)%t选项卡%T时间以来的秒数相同;与%H:%M:%S%uweek(1..7)相同;1是星期一%U一年中的周数,以星期日为一周的第一天,从00开始(00..53)%VISO周数,以星期一为一周的第一天,从01(01..53)开始%w周(0..6);0是星期日%W一年中的星期数,星期一是星期几第一天,从00(00..53)%xlocale的日期表示(例如,12/31/99/12/31/1999)%Xlocale'stimerepresentation(eg,23:13:48)%y最后两位年份(00..99)%Yyear%z+hhmmformatnumerictimezone(eg,-0400)%:z+hh:mmformatnumerictimezone(eg,-04:00)%::znumerictimezonein+hh:mm:ssformat(eg,-04:00:00)%::::zNumerictimezone,:表示精度(eg,-04,+05:30)%Z字母时区缩写(eg,EDT)