Linux之date命令

2 02 3 年,我的朋友在Linux系统中使用date命令查看系统时间。
他发现默认显示的是当前时间,非常方便。
然后他尝试设置系统时间。
通过输入特定的日期和时间参数,例如日期 1 2 -2 5 -2 02 3 3 :3 0:00 PM,系统时间将变为圣诞节当天的下午 3 :3 0。
他发现date命令还可以以多种格式显示时间。
例如,如果他输入日期+%Y%m%d%H:%M:%S,它在屏幕上显示为2 02 3 1 2 2 5 1 5 3 000,这样他就可以知道今天是一年中的哪一天,是什么时、分、秒。

他解读得最富有想象力的是Unix时间戳。
1 9 7 0年1 月1 日0:00:00被算作时间戳的起点。
Date +%s 可以获取当前时间戳。
他还尝试将时间戳转换为时间,date -d @ 1 6 7 03 2 8 000,屏幕上出现“Mon Dec 2 5 , 2 02 3 1 5 :3 0:00”,这非常酷。

有一次他需要计算未来的某个时间。
例如,如果他想查看今天是一年中的什么时候,他使用 date -d '明年'。
结果屏幕上显示出“2 02 4 年1 2 月2 5 日星期二”。
还可以在脚本中使用 date 命令。
例如,如果要在脚本中打印当前时间,可以使用 date +%Y-%m-%d %H:%M:%S。

对了,他还发现date命令还可以和sleep命令结合起来进行延时。
例如,脚本中的date命令后面跟着sleep命令,可以在脚本运行时等待几秒钟,这是相当方便的。
综上所述,date命令确实是Linux环境下管理日期和时间的强大工具,而且现在使用得越来越多。
算了,你得明白。
如果你也使用Linux,你也可以尝试这个命令。

linux怎么将时间戳转换为时间

在Linux系统中的时间转化方法详细介绍

啊,Linux的时间真有趣,有来有回。
上周,一位客户问我如何将生日字符串转换为可以存储在数据库中的时间戳。
我和他详细讨论了日期命令。

想一想,这件事很简单。
第一个是将时间转换为时间戳。
最常用的是date命令,加上-d选项,后面跟上你要转换的时间字符串,比如“May 1 5 , 2 02 3 ”,需要加上+“%s”告诉它你要返回一个时间戳。
我尝试了 date -d "May 1 5 , 2 02 3 2 :3 0:00 PM" + "%s" ,结果是一个数字,例如 1 6 7 9 5 8 4 4 00,这是秒数。
简单而原始。

然后,依次将时间戳转换为正常时间。
又是 date 命令,这次它也有 -d 选项,但有所不同。
您必须指定基准时间,通常是 1 9 7 0 年 1 月 1 日 UTC,后跟时间戳的秒数。
例如,date -d“1 9 7 0-01 -01 UTC 1 6 7 9 5 8 4 4 00秒”将产生“2 02 3 年5 月1 5 日1 4 :3 0:00”,这更顺眼。
我经常使用这个操作,在检查日志的时候特别方便。

然后是自定义格式。
假设您有一个时间写为“Mon May 1 5 1 4 :3 0:00 2 02 3 ”的日志文件,并且您希望将其更改为格式“2 02 3 -05 -1 5 1 4 :3 0:00”。
您可以使用 date -d "Mon May 1 5 1 4 :3 0:00 2 02 3 " + "%Y-%m-%d %H:%M:%S" 来完成。
当我上次更改系统配置时,这派上了用场,但格式不匹配并且卡在那里。

但是,这里最容易误导的是时区。
使用日期 -d“2 02 3 年 5 月 1 5 日”+“%s”。
默认设置是您的系统时区。
如果你在北京,那就是东八区。
但有些系统可能会设置为 UTC,结果会出现 8 小时的差异。
我经历过一些陷阱。
我曾经查看过外部服务器的日志,直接使用日期进行传输。
结果,时机完全错误。
我花了很长时间才意识到时区错误。
因此,在传输时间之前,需要确认时区或统一使用UTC。

无论如何你都能理解。
date命令有很多功能,但也有很多选项。
如果你记不住它们,你就必须修补。