UNIX 元期からの経過ミリ秒を秒として扱ってしまうと、時刻が1000倍になって、最近の日時だと、西暦5万年くらいになってしまうことがある。 今日、Sentryを見てたら、Invalid date format: 53793-11-30みたいなエラーが流れてきて、これはミスって1000倍しているに違いない!とテンションが上がっていた。 野生の西暦5万年を発見して興奮している秒とミリ秒が別の型になってればこういう間違いを減らせそうだけど、システム内に閉じた部分では好んでepochを使いたい人はいないだろうし、epochをやりとりするところは、だいたい、システム同士の連携部分だったり、外部サービスからリクエストを受け取るときだったりで、そういうインターフェイスの入出力時に、桁が1000倍なってるかどうか、というのを機械的に判定するのは難しそう。 Dateが1970年を指し示していたら嫌な予感が
![西暦5万年問題 - hitode909の日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/69c7ef4df375c8292781074bea43b755fabd7ac7/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fh%2Fhitode909%2F20211028%2F20211028122017.png)