Wordpressの自作DB Tableのdateという名のfieldをphpMyadminで下記のように作成しておいて、
- データ型=timestamp
- デフォルト値=current_timestamp
insertでデータを挿入すると、自動で現在の日時がセットされる筈がGMT(JST-9時間)がセットされてしまいます。
phpMyadminのsql手入力でinsertすると正常にJSTでセットされて問題ありません。
どうすればプログラムでも正常にセットされるようになるか教えて頂ければありがたいです。
同様の現象はご経験おありでしょうか。
おそらくtimezoneがAsia/Tokyoでセットされていないためとは思いますが、構築環境を詳細に記載いただけないでしょうか。
ご質問有難うございます。
私のFC2レンタルサーバーLiteの phpMyAdmin のversionは5.7.2です。
使用プログラムは「WordPressで登録フォームを作成」 という下記のページをそのまま使いました。
http://dim5.net/wordpress/development-registration-form.html
このプログラムは確かにJST以外は完璧です。 但し、不思議なことにphpMyAdminからsqlでinsertするとJSTでdate fieldに自動的に格納されます。
Bernadotte様、
'date' => current_time('mysql', 1) を
'date' => current_time('mysql', 0) に変更したらJSTで格納できました。
ご参考:関数リファレンス/current time https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/current_time の中で述べられている
<?php $time = current_time($type, $gmt = 0); ?> の$gmt = 0で決まりでした。
貴殿のご質問で2日苦しんでいた問題が解けて感謝です。
回答1件
あなたの回答
tips
プレビュー