Linux 系统dmesg 时间戳转换为易于阅读的格式2022-5-20

Linux 系统dmesg 时间戳转换为易于阅读的格式2022-5-20,第1张

Linux 系统dmesg 时间戳转换为易于阅读的格式

Linux内核的 dmesg 结果显示了时间戳。 从内核[启动时间[开始] ,是秒数。

~# dmesg -h 查看帮助

-T,–ctime

打印人类可读的时间戳。

请注意,时间戳记可能不正确! 挂起/恢复系统后,用于日志的时间源不会更新。

在编译Linux内核,配置时:make menuconfig --->Kernel hacking -->show timing information on printks

当选中这个选项后,启动内核,会在日志信息前面加上时间戳。

从下面的输出可以看出,时间精确到微秒(us)。

如下:

-------------------------------------------------------------------------------------------

Uncompressing Linux... done, booting the kernel.

[ 0.000000] Linux version 2.6.35.7+ (bshen@bamboo) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202) ) #109 PREEMPT Mon Nov 14 15:11:15 CST 2011

[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177

[ 0.000000] CPU: VIVT data cache, VIVT instruction cache

--------------------------------------------------------------------------------------------

Linux时间转化方法:

(1)date -d"2008年 12月 17日 星期三 17:27:22 CST" +"%s"

命令将2008年 12月 17日 星期三 17:27:22 CST转化为时间戳

结果:1229515680

(2)将时间戳1123495443 换算成可以识别的年月日分秒

date -d '1970-01-01 UTC 1123495443 seconds'

结果:2005年 08月 08日 星期一 18:04:03 CST

(3)date -d"Mon Jul 17 13:36:28 CST 2006" +"%F %H:%M:%S"

该命令将被转换的时间“Mon Jul 17 13:36:28 CST 2006” 转换为你想要输出的格式+"%F %H:%M:%S"

结果:2006-07-17 13:36:28

Freebsd时间转化方法:

(1)date -j -f "%a %b %d %T %Z %Y" "Wed Dec 17 17:55:36 CST 2008" "+%s"

该命令将时间Wed Dec 17 17:55:36 CST 2008转换为时间戳

结果:1229507736

(2)将时间戳1229507736转换为当前时间

date -r 1229507736

结果:Wed Dec 17 17:55:36 CST 2008

(3)date -j -f "%a %b %d %T %Z %Y" "Mon Jul 17 13:16:11 JST 2006" "+%F %H:%M:%S"

该命令将被转换的时间"`date`" 转换为你想要的格式"+%s"

结果:2006-07-17 13:16:11

补充:

perl下:

将时间戳转换为时间perl -e "print scalar localtime '1209391893'"

PHP下:

生成时间戳方法:mktime(小时,分,秒,月,日,年)

这里是否弄明白了Linux时间转化方法。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/6189636.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-17
下一篇2023-03-17

发表评论

登录后才能评论

评论列表(0条)

    保存