Whenever I post a question, answer, or comment these two time stamps appear, but are confusing (like Japanese people translating instructions to English)

This is the first timestamp, "in 4 seconds":

In 4 seconds timestamp

This, "momentarily", is another timestamp I found:

Momentarily timestamp

These values should be updated to "just now" like on the questions page.


This will be fixed in

As ArtOfCode correctly surmised, your phone is trapped in a localized temporal distortion field causing it to see responses from the server before they are sent... or something.

The problem is we have a single method for stringifying dates toRelativeTime() and this method sometimes has to shorten future dates like bounty expirations or upcoming events. When it sees your post from the future, it assumes it's that kind of thing.

Because we can be reasonably sure that posts shown in the app have to have been posted in the past, I've changed the method to toRelativeTimeIncludingFuture(_:Bool) and will show "just now" for future posts, comments, etc.

| improve this answer | |

This happens in a number of places on Stack Exchange (and a number of other sites, for that matter), especially when using live-updating relational timestamps such as "just now".

It's caused by a discrepancy between your system clock and the server clock. When a comment is posted, the server records the time at which this was done, using its internal clock. That gets saved as part of the database object. When you come along, milliseconds later, to view that comment, if your system clock is behind where the server clock is, then it will show you "in X minutes" or "momentarily", etc.

An example:

  • A comment is posted. The server says this happened at 2016-05-07 16:01:05.000000 UTC.
  • You come along at (absolute time) 2016-05-07 16:01:06.000000 UTC. Your system clock is 5 seconds behind realtime, so at that point it reads 2016-05-07 16:01:01.000000.
  • The timestamp is displayed based on how long ago it was from your system clock (because it's done with client-side JS). Since the value the server says (16:01:05) is 4 seconds ahead of what your system clock says (16:01:01), the timestamp displays as "in 4 seconds", or "momentarily".
| improve this answer | |
  • Why wouldn't it just say "just now" then? – haykam May 8 '16 at 3:14
  • 1
    @Peanut because it's not just now, it's in the future. Computers are literal, not approximate. – ArtOfCode May 8 '16 at 8:50
  • I've changed the correct answer to @BrianNickel's answer. – haykam May 26 '16 at 19:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .