XOOPS モジュールの記事としてMySQLにあるデータ

いきなりぶつかる「投稿日付」の形式違い
XOOPSでは、当初投稿日付と最終投稿日付がありました。しかし、日付形式が違います。

フィールド名:created
値:1307020587

「はて、なんでしょこれは」と言う感じでした。UNIXをお使いの方にはなんでもないことかと思いますが、1970年1月1日からの経過秒数だそうです。TAKAはUNIX知りません。EXCELのシリアル値であらわすものかと思いましたが、データベースの日付がexcel形式で表示されていることは無いのではと思いなおし、ネットを探すと、次のようなURLに…シメシメ&感謝。

ためしにブログ >> ExcelでUNIX時間

これを使わせていただいて、計算したところ、「1307020587」は「2011/6/2 13:16」ということで、元データと合致。ヤターッと喜んだのもつかの間、秒が表示されていない。ということで、少し考えたのです。要は、「余」(整数割り算=商のあまり)を求めればよいわけですから、上記URLでその分母となったものの代わりに「60」を置いてやれば、答えが出るのでは、ということでやってみました。答えは「27」。ちょ、ちょっと待て! 元データでは「26」(秒)なのだ。1秒計算違いが出るのです。
念のため数件やってみたらいずれも秒まで合致。何故にここだけ1秒が違うのか…などと難しいことは考えずに、概ねOKということで先に(無理矢理)進むのでした〜。ふ〜っ…。

MOD(1307020587, 60)

と言うような関数で余り27が吐き出されるのでした。
今回の場合、作業の結果、Excelのセルに吐き出される日付は、「2011/6/2 13:16」とその右隣りに「27」。ということは、WPのMySQLデータのテーブル・フィールドで対となる形式「2011-06-02 13:16:26」(1秒違います。念のため)と異なります。つまり、なんらかの方法で整形の必要があります。csvで書き出し・再読み込みの後、[/]を「-」に置換するという原始的な方法から、それらをすべて抱え込んだVBAを書いてしまうというのも一案かもしれません。しかし、そう何回もXOOPSのモジュールをWP記事に変換する作業があるかどうか…。ヨシ、日付は横着をするのだ〜