← 制作記一覧へ

「本日更新」と出ていたデータは、昨日のものでした

公開: 2026-09-27 · #163 / 最終更新: 2026-10-02 個人開発失敗談ホテル検索データ整備

📌 記事の取り扱いについて(公開当時の内容を含みます — タップで詳細)

本記事は公開当時の体験・気づきをまとめたものです。現在のツール数・プラン数・対象年齢・記事数・仕様とは異なる場合があります。最新の内容は各ツールページをご確認ください。ツールや外部サービスの仕様・料金は変更されることがあるため、利用前には各公式情報も併せてご確認ください。記載に誤りを見つけられた場合はお問い合わせフォームよりご連絡いただけると助かります。

表示と実感が、一日ずれていました

ホテル検索では、データがいつ時点のものかを画面に出しています。古い値段を見せてしまうのが怖いので、鮮度が分かるようにしておきたいからです。

あるとき、その表示に違和感を持ちました。更新したのは前の日のはずなのに、「本日更新」と出ているのです。同じように、二日前のものが「昨日」と出ていることもありました。全体に、一日ぶん新しいほうへずれています。

経過時間を、日数として数えていました

原因は、日数の数え方にありました。

私は、更新した時刻から今までに経過した時間を、24で割り、端数を切り捨てて日数にしていました。24時間経っていなければ0日、つまり「本日」です。素直な計算に見えます。

ところが、これは日付の差とは違います。たとえば前の日の夜遅くに更新して、翌日の朝に見た場合。経過しているのは十数時間なので、この計算では「本日」になります。でも、カレンダーの上では日付が一日変わっています。人が「本日」と読んだときに期待するのは、カレンダーのほうです。

私が使っていた「24時間で1日」という数え方は、時間の長さの話であって、日付の話ではありませんでした。

日付そのもので数え直しました

直し方は、時・分・秒を考えず、カレンダーの日付だけで引き算することでした。更新した日と今日の日付を比べて、その差を出します。これなら、何時に更新しようと、日付が変われば1日です。

直したあと、表示が実感と合うようになりました。「本日」と書いてあれば本当に今日で、「昨日」と書いてあれば昨日です。当たり前のことが当たり前に出るようになっただけですが、鮮度の表示は信用が命なので、ここがずれているのは気持ちが悪いものでした。

学び・似ている計算ほど、取り違えます

この件は、時間の引き算と、日付の引き算は別物という、書いてしまえば当然の話です。

ただ、作っているときは気づきませんでした。どちらも「差を出す」計算で、答えも数字で出るので、同じもののように見えるのです。しかも同じ答えになる場面も多い。見る時刻が前日の更新時刻より早いあいだは、まるごと一日ずれたままなのに、それより後に見れば合ってしまうのです。

こういう「合っているときもある」計算は、確かめるのが難しいです。試すのがいつも同じような時間帯だと、ずっと正しく見えます。ときどきしか間違えないものほど、間違いに気づくのが遅れる。 日付や時刻を扱うところは、今後も少し疑ってかかろうと思いました。

それと、この表示は「古くなったら警告を出す」という役目も持っています。つまり、日数の数え方がずれると、警告が出るべきときに出ないことになります。ただの表示のずれのつもりが、見張り役の目盛りまでずらしていたわけです。表示と判定が同じ計算を使っているところは、片方だけ直して安心しないよう気をつけたいと思いました。


← 他の制作記を見る | トップ | お問い合わせ