サポート » 使い方全般 » データベースのdecimal(16,4)のデータを日付に変換したい

  • 解決済 JunichiK

    (@junichik)


    いつもお世話になります。
    SQLの質問になるかもしれませんが、よろしくお願いいたします。

    下記のような形で、プラグインContact Form DBのデータベースを直接取得しております。

    <?php
    $data = $wpdb->get_results( "
    SELECT submit_time
    FROM {$wpdb->prefix}cf7dbplugin_submits
    WHERE field_value = '1'
    " );
    foreach ($data as $values) {
    $value = $values->submit_time;
    echo $value . "<br />";
    }
    ?>

    このsubmit_timeはフォームの送信日時ですが、このままですと、
    種別decimal(16,4)で、1406161182.0300
    というような表示になります(送信日時は2014-07-24 09:19:42 +09:00です)。
    これを日付表示に変換したいのですが、どのようにすればよろしいでしょうか?

    よろしくお願いいたします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • モデレーター Daisuke Takahashi

    (@extendwings)

    UNIX秒を変換するだけであればPHPの標準関数を組み合わせれば好きな形式にすることができます。
    http://www.php.net/datetime

    Daisukeさん、いつもお世話になります。

    ご教示いただいたphp.netを見てみましたが、正直、よく分かりません。
    具体的に例えば、上記の$valueを、2014-07-24 09:19:42 +09:00 という表示に変換するには、
    どのような関数を使えば良いのでしょうか?

    よろしくお願いいたします。

    とりあえずこの用途だけならDateTime関数使わずにDate関数でも大丈夫ですね。

    Daisukeさん、Hinaloeさん、ありがとうございます。
    Date関数で、目的の形式で取得できました。
    <?php echo date("Y-m-d H:i:s", '1406161182.0300' ); ?>

    ありがとうございました。
    今後ともご指導のほどよろしくお願いいたします。

    失礼しました。
    変数ですので、下記になりました。
    <?php echo date("Y-m-d H:i:s", $value ); ?>

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「データベースのdecimal(16,4)のデータを日付に変換したい」には新たに返信することはできません。