Use Irc Server-Time capabilities with znc and hexchat/weechat
Server time is a “new” capabilities for IRC protocol (based on work by ircv3 working group, see http://ircv3.atheme.org/ and http://ircv3.atheme.org/extensions/server-time-3.2 ).
If you already use ZNC, you probably use the backlog feature, which allow znc to buffer all messages on irc while you are away, and sent back to you client when you reconnect (yes, I know, you can use screen/tmux with irssi ;-)).
The IRC protocol does not communicate time, however, and a client would typically attribute these buffered messages to the time the client received them. This will always be the time at which the client connected, rather than the actual time the message was sent.
Server-time solve this problem, and is available in hexchat (>2.9.5), weechat (>0.4.0), limechat (> 2.29) and znc (>=1.0).
You just need to activate it on client side.
In hexchat via Settings -> preferences -> advanced -> Use server time if supported
In weechat, /set irc.server.$yournetwork.capabilities “znc.in/server-time” (or “znc.in/server-time-iso” with znc >1.0)
On connexion, you will see something like :
irc: client capability, server supports: userhost-in-names multi-prefix znc.in/server-time
irc: client capability, requesting: znc.in/server-time
irc: client capability, enabled: znc.in/server-time
Now your backlogs have correct timestamps !