RSSを自作PHPで作る為の日付をpubDateに逆変換する自作関数

2022-01-16    458   1016

pubDateは独特でやっかいな表記型で扱いにくい。

<rss2.0 pubDateの書式>


Sun, 16 Jan 2022 01:54:00 +0000

pubDateを通常の日時表記にする方法はネットに多く転がっているけど、逆はありませんでしたので、
特定の日付(日付指定)で通常の日時型(2022/01/16 00:00:00)をpubDateの書式に変換する関数を作成しました。

たかが日時表記の変換なので難易度が低いですが、pubDateは地味に面倒な書式です。
RSSを自力で作成する人はほとんどいないと思うので、マニアックな事象なのですが。

当ブログはブログシステム自体が自作なので、RSSも自力で作成せざるを得ませんでした。自作の魅力は自由が効くところ。フレームワークやワードプレスのルールなんて邪魔でしかない。ゼロから自作することで根本から理解ができるのも高メリット。

<日時を配列に変換>


<?php
    function cngDaytimeArray($datetime){
        $date[] = substr($datetime,0,4);
        $date[] = substr($datetime,5,2);
        $date[] = substr($datetime,8,2);
        $date[] = substr($datetime,11,2);
        $date[] = substr($datetime,14,2);
        return $date;
    }
?>

<pubDateに変換>


<?php
    function pubDate($datetime){
        $array = cngDaytimeArray($datetime);
        list($y,$m,$d,$H,$i) = $array;
        $yobi = date("D", strtotime("{$y}-{$m}-{$d}"));
        $month = date("M", strtotime("{$y}-{$m}-{$d}"));
        $str = "{$yobi}, {$d} {$month} {$y} {$H}:{$i}:00 +0000";
        return $str;
    }
?>

<pubDate逆変換関数の使い方>


上記2つのユーザー定義関数をコピペしてください。
datetime変数には「y/m/d H:i:s」書式(2022/01/16 00:00:00)の日時をセットします。
<?php
$pubdate = pubDate($datetime);
?>

カテゴリ: PHP

comment 登録なしでご自由にご入力いただけます(^^)ぜひぜひ記事のご感想をお聞かせ下さい。

お名前とコメントは入力必須です。

コメントの文字数が短すぎます。

この内容でコメントを送る
コメントをする

目が疲れている方向けにラジオ系Youtubeを始めました

オススメのPHPに関する記事

この記事がお役に立てましたら是非シェアのご協力お願いします。