Currently, the way that the ages and dates/times are displayed is inconsistent, and it would be beneficial to make them consistent:
Age | Display | Example | Precison | Relative precision |
---|---|---|---|---|
0 seconds <= age < 4 seconds | just now | asked just now | 3 seconds | Fair |
4 seconds <= age < 1 minute | {x} seconds ago | asked 24 secs ago | 1 second | Excellent |
1 minute <= age < 1 hour | {x} mins ago | asked 22 mins ago | 1 minute | Fair |
1 hour <= age < 24 hours | {x} hours ago | asked 1 hour ago | 1 hour | Poor |
24 hours <= age < 48 hours | yesterday | asked yesterday | 1 day | Poor |
48 hours <= age < 72 hours | 2 days ago | asked 2 days ago | 1 day | Poor |
72 hours <= age (this calendar year) | MMM dd "at" H:mm | asked Sep 10 at 8:03 | 1 minute | Excellent |
72 hours <= age (not this calendar year) | MMM dd 'yy "at" H:mm | asked Dec 10 '20 at 7:06 | 1 minute | Excellent |
I'm aware that, on a desktop device, it's possible to use the workaround of hovering over the timestamp of pretty much any event to get the ISO 8601 UTC date and time, e.g.
but on a mobile device this is not possible, as these feature requests from 2013 and from 2019 state. Going to the timeline for a post then toggling the date/time display format works on all devices, but is even more of a faff.
I posted a bug report in Review queue workflows - Final release where the dates reported in review are different to how they're reported in the posts themselves, but the behaviour in review is arguably much worse (all events less than 24 hours old are reported as "today") - I'm sincerely hoping that that's not the way that dates/times will be reported in future.
Sometimes (often for newer posts) it is very useful to have a better idea of when events happened relative to each other, e.g. if there's a post and multiple near-identical answers, but their display age is just "yesterday", it's useful to know how far apart the answers were posted to rule out plagiarism. If one of the near-identical answers was posted several hours after the other(s), then plagiarism can't be ruled our. If they were posted within minutes of each other (especially if this is very soon after the question itself was posted), then it's much more likely that the users just came to the same answer independently.
Here are a few suggestions to fix this behaviour:
Show more precision in the 1 hour <= 72 hours age range, e.g. by conflating their display format to "{x} hour(s), {y} min(s) ago" or similar.
Always show dates/times as ISO 8601 UTC format. This might not be well-recieved, since at any given time, a very small proportion of users will be in a timezone with no UTC offset. It's possible to use
getTimeZoneOffset()
to fix this, so dates/times could always be shown in the local time.Show the time (
H:mm
orHH:mm
) for all events that occurred this local calendar day in the local time zone, and switch toMMM dd "at" H:mm
andMMM dd 'yy "at" H:mm
for events that occured before this local calendar day. The precision for all posts would then be 1 minute regardless of the age.