質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

1回答

753閲覧

Wordpressのcurrent_timestampに現時刻の9時間前がセットされる

TakSato

総合スコア22

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2019/04/11 05:27

Wordpressの自作DB Tableのdateという名のfieldをphpMyadminで下記のように作成しておいて、
- データ型=timestamp
- デフォルト値=current_timestamp

insertでデータを挿入すると、自動で現在の日時がセットされる筈がGMT(JST-9時間)がセットされてしまいます。
phpMyadminのsql手入力でinsertすると正常にJSTでセットされて問題ありません。
どうすればプログラムでも正常にセットされるようになるか教えて頂ければありがたいです。
同様の現象はご経験おありでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Bernadotte

2019/04/11 05:58 編集

おそらくtimezoneがAsia/Tokyoでセットされていないためとは思いますが、構築環境を詳細に記載いただけないでしょうか。
TakSato

2019/04/11 08:08

ご質問有難うございます。 私のFC2レンタルサーバーLiteの phpMyAdmin のversionは5.7.2です。 使用プログラムは「WordPressで登録フォームを作成」 という下記のページをそのまま使いました。 http://dim5.net/wordpress/development-registration-form.html このプログラムは確かにJST以外は完璧です。 但し、不思議なことにphpMyAdminからsqlでinsertするとJSTでdate fieldに自動的に格納されます。
TakSato

2019/04/11 09:00 編集

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日苦しんでいた問題が解けて感謝です。
guest

回答1

0

ベストアンサー

まだちょっと情報が足りないですが、functions.phpの頭の方に下記を挿入してみてはどうでしょう。

php

1<?php 2 date_default_timezone_set('Asia/Tokyo'); 3 // 後続の処理がある

これで治るかは怪しいですが…。

投稿2019/04/11 08:31

Bernadotte

総合スコア310

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakSato

2019/04/11 08:59

貴殿のご返事で2日苦しんでいた問題が解けて感謝です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問