loggingtimestampkerneldmesg

How do I convert dmesg timestamp to custom date format?


I am trying to understand the dmesg timestamp and find it hard to convert that to change it to a Java date or custom date format.

Sample dmesg log entry:

[14614.647880] airo(eth1): link lost (missed beacons)

How do I convert 14614.647880 to a standard date?


Solution

  • Understanding dmesg timestamps is pretty simple: It is the time in seconds since the kernel started. So, having the time of startup (uptime), you can add up the seconds and show them in whatever format you like.

    Or better, you could use the -T command line option of dmesg and parse the human-readable format.

    From the man page:

    -T, --ctime
        Print human readable timestamps. The timestamp could be inaccurate!
    
        The time source used for the logs is not updated after system SUSPEND/RESUME.