
Windows XP に XAMPP をインストールし、PHPとSQLiteでページを作成しているのですが、 SQLite のタイムゾーンの取り扱いで不可解な点があるのでお教え願います。
「UPDATE xxx SET AA='AA', UDate='2010-11-21 19:15:10' WHERE ID= '321'」というSQLを実行すると、SQLiteには UDate がタイムゾーン分の時間が遅れて記録されます。 当然「UDate='2010-11-21 19:15:10'」は、SQL実行時の時間です。
SQLiteの確認は、firefoxのツール・SQLite Manager v0.65 です。
Windows XPのタイムゾーンはJST-9で合っているし、時計の時間は合っています。
PHP には「date_default_timezone_set( 'Asia/Tokyo' ); 」を記述しているので間違いはないと思います。
実は「UPDATE xxx SET AA='AA', UDate=CURRENT_TIMESTAMP WHERE ID= '321'」を実行した時に、同じように時間がずれたので「CURRENT_TIMESTAMP」が理由だと思い PHP でタイムスタンプを作ってSQLを実行しても同じようにずれたの SQLite の仕様なのかな? と思っていますが、気持ちが悪いので正しく入力できる方法があれば直したいと思っています。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
時刻関係のdefaultは、GMTを返すようです。
フォーマット関数で localtime を指定すれば、サーバーOS設定の現地時間になります。
select strftime("%Y-%m-%d %H:%M:%S",CURRENT_TIMESTAMP, 'localtime')
http://opengroup.org/onlinepubs/007908799/xsh/st …
この回答への補足
ご回答頂いたように「UPDATE xxx SET AA='AA', UDate=CURRENT_TIMESTAMP WHERE ID= '321'」を下記のように書き換えて無事に時計と同じ時間でdbに記録されるようになりました。
>UPDATE xxx SET AA='AA', UDate=datetime( 'now', 'localtime' ) WHERE ID= '321'
ご指摘頂いたように「localtime」の不足でした。
ありがとうございます。
>時刻関係のdefaultは、GMTを返すようです。
御回答ありがとうございます。
御回答頂き、調べ直してみると御指摘のように「localtime」という記述が抜けているようです。 プログラムを訂正して確認してみます m(_ _)m
No.2
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL ある時間以内の利用者の抽出について 3 2022/03/26 11:15
- MySQL UPDATE my_items SET item_name '赤い,甘い,ケーキ' WHERE id 1 2023/01/03 09:52
- Java 自作Androidアプリのデータ引き継ぎ方法について。 Android Studio でアプリを作成 1 2022/08/13 21:44
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- SQL Server SQLのクエリの書き方 1 2022/03/29 23:06
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Windows 10 Windows10のメタデータの「メディアの作成日時」は、タイムゾーンによって表示が変わりますか? 3 2022/06/21 02:30
- PHP PHP MySql ページング 2 2022/09/20 06:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL-Loaderが動かないです。
-
IDENTITY列を持つテーブルへBCP...
-
ストアドプロシージャーをWindo...
-
sqlcmdでクエリの実行結果をバ...
-
phpMyAdminのSQLクエリ実行につ...
-
静的SQL、動的SQL?
-
AccessのDAO.ExecuteとDoCmd.Ru...
-
Excelフィルタ抽出で「検索して...
-
JAVA ServletでSQL Serverに接...
-
Accessからストアドプロシジャ...
-
ストアドの速度がクエリの30...
-
キャッシュを無効にする方法は?
-
ユーザー定義関数内でのsp_exec...
-
ORACLEでのexportのbatファイル...
-
UPDATE時のSETの実行順について
-
【Oracle】ADOでSELECT * FROM ...
-
SQLCMDにて教えていただきたい...
-
インデックスの断片化が解消さ...
-
Excel-VBAの「しばらくお待ちく...
-
SQL Serverの移行について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel-VBAの「しばらくお待ちく...
-
ユーザー定義関数内でのsp_exec...
-
AccessのDAO.ExecuteとDoCmd.Ru...
-
SQLサーバーのジョブでのexeフ...
-
ストアドの速度がクエリの30...
-
SQLCMDにて教えていただきたい...
-
SQLServer2005のストプロでxp_c...
-
SQL-Loaderが動かないです。
-
Excelフィルタ抽出で「検索して...
-
【Oracle】ADOでSELECT * FROM ...
-
sqlcmdでクエリの実行結果をバ...
-
バッチからSQLCMDを実行する方法
-
SQLServerのジョブからバッチを...
-
サーバーと実行端末が違う場合...
-
Accessからストアドプロシジャ...
-
オラクルインストールユーザ以...
-
バッチでのSQL実行結果の分岐処...
-
IDENTITY列を持つテーブルへBCP...
-
100万件レコードdelete
-
UPDATE時のSETの実行順について
おすすめ情報