RSS2.0のpubDateの書式でエラー

RSS2.0で、pubDateの公開日の書式がどう見ても合ってるのにエラーになって、公開日がRSS2.0のページに表示されていませんでした。このエラーが非常に分かりにくかったので書いています。

以下の2つのpubDateの書式はどちらも同じに見えて、どちらもRSS2.0の書式から見て、間違っているとは思えません。しかし、上の1番目のpubDateの書式ではRSS2.0の書式ではエラーになって、記事の公開日の表示がされません。

<pubDate>Wed, 11 Apr 2018 ‏‎23:16:03 +0900</pubDate>

<pubDate>Wed, 11 Apr 2018 23:16:03 +0900</pubDate>

逆に、2番目のpubDateの書式は合ってるので、公開日がきちんと表示されます。しかし、2つのpubDateの書式は、どう見ても同じに見えませんか。

RSS2.0の書式でのエラーチェックは、ネタりかのRSSチェッカーで行いました。「記事の最終更新日をRSS2.0の仕様に準拠したフォーマットで指定してください」と出て、pubDateにエラーが出ています。

RSSチェック

こういう検索しても、どこに答えがあるのか分からないエラーの解決はかなり困りますが、Windowsのファイルの右クリックのプロパティに問題がありました。プロパティでファイルの作成日時をコピーして貼り付けると、一見すると分からないエラーが出ます。

Windowsのプロパティ

プロパティからコピーして貼り付けると、‎2018‎年‎4‎月‎11‎日、‏‎23:16:03になりますが、TeraPadでは?2018?年?4?月?11?日、??23:16:03になって、余計な?が入っていることが分かります。これがエラーの原因です。

TeraPadでエラーチェック

Visual Studio Codeで、?のエラーがあってもそれが表示されない時でも、?があるところでは引っ掛かりがあることは分かります。RSSのpubDateの日時を手軽だからとプロパティから貼り付けると、こういう余計な?があってエラーになるので注意が必要です。

ちなみに、pubDateはpublication dateの書籍の発行日のことで、ウェブでは記事の公開日のことなので、更新するごとに変わる日時ではなく、ファイルの作成日時(作成した時間と公開した時間が近いのなら)に近いと思います。