Remember that your code needs to account for the possibility of a negative leap second, meaning if you're using epoch time for timestamps you could have an instance that an event that happened after a previous one could be stamped as having happened before it instead.
More and more I use Epoch time for most things just because of how convenient it is.
I rarely need sub-second granularity, and it's just one number, so it's sortable, math-able, etc.
Then whoever is doing the display can convert it any way they want to.