相対日時の単位切り替えタイミング

インターネットで相対日時をよく見るようになってもうずいぶんになる。このウェブサイトでも記事の日時表記など一部で使っている。ここの実装では単位の切り替えタイミングが少し違い、90分前以上にならないと1時間前に、36時間以上にならないと1日前に、18カ月以上前にならないと1年前にならないようにしていた。

多くの実装では24時間以上で1日前、と一気に切り替わるようになっているようだ。Moment.jsのfromNow()では僕の実装とは逆に45分前以上から1時間前、と早めに切り替わるようになっている。前者は機械的な変換で味気なく、後者は「50分前」は「1時間前」じゃない、という感覚をそれぞれ持ってしまう。

とはいっても切り替えタイミングを遅らせるだけの実装はどうも一般的ではなさそうだ。似たようなアプローチをしているアプリは見かけることもあるが、すぐに気づいてしまうほどに稀で目立つ。ということで一気に切り替わるように変えてみている。もうちょっとしっかりと考えて良さそうな切り替えタイミングを見つけたい。