開発日誌

開発した時に躓いたこととかの記録

はてなブログなどのRSSの日付を上手に表示する

RSSによって返ってくるものが若干異なっていることがあるので確認の上で実装してください

弊ブログにてRSSで表示してるコンテンツに日付をだしたかったけどそのまま出したらグリニッジ標準時っぽいのが出たのでお直し。

コード

RssPosts.astro

利用しているもの / 利用するもの

実装時のコツ

  • RSSで帰ってくる日付が2023-08-02 13:10:41になっている。こんな昼間に投稿してないはず。
    • 多分GMTだなあということで……下記。
    • .000+0000ではなく+0000でも動いたが、念のため
    • locale:ja もなくても動くが、念のため
    • hh:mm:ddにしてズレるなあと思うアホをした。24時間表記は大文字でHHなのでHH:mm:dd
import { format } from "date-fns";
import ja from "date-fns/locale/ja/index.js";

const formattedRecentData = recentData.map((item: RssItem) => ({
  ...item,
  pubDate: format(new Date(`${item.pubDate}.000+0000`), "yyyy-MM-dd HH:mm:dd", {
    locale: ja,
  }),
}));

つぶやき

  • 世界的な規格なのでGMTを利用しているのだと推測するけど、それなら+0000までつけてほしかったな~