Why is the date in dmesg wrong?

Solution 1:

ridgy posted a comment explaining this, and the original poster has verified that the explanation is correct:

The manpage (man dmesg) says:

Be aware that the timestamp could be inaccurate! The time source used for the logs is not updated after system SUSPEND/RESUME.

Maybe your system was suspended before?

Solution 2:

Workaround is journalctl with -k, --dmesg. I am using -k as it is shorter:

journalctl -k

It will show only kernel messages and correct time.

To show only kernel lines matching phrase:

journalctl -kg phrase