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

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

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

dateは、date型や日付に関する関数や処理についてのタグです

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

3970閲覧

php date_default_timezone_set( 'UTC' )のみ効かない

JJ878

総合スコア21

date

dateは、date型や日付に関する関数や処理についてのタグです

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2017/03/28 08:04

date_default_timezone_set( 'Europe/Athens' );
date_default_timezone_set( 'Africa/Juba' );
date_default_timezone_set( 'America/Chicago' );
date_default_timezone_set( 'Asia/Tokyo' );
上記は問題なく正しい日付がとれるのに対して
date_default_timezone_set( 'UTC' );だけ、日本語同じ日付になってしまいます。

OSは EC2 centos7 です。

原因がわかる方はぜひ、教えて頂ければと思います。

<?php var_dump("current time.zone"); var_dump(ini_get("date.timezone")); date_default_timezone_set( 'Europe/Athens' ); var_dump(date_default_timezone_get()); var_dump(date('Y-m-d H:i:s')); var_dump("----------\r\r"); date_default_timezone_set( 'Africa/Juba' ); var_dump(date_default_timezone_get()); var_dump(date('Y-m-d H:i:s')); var_dump("----------\r\r"); date_default_timezone_set( 'America/Chicago' ); var_dump(date_default_timezone_get()); var_dump(date('Y-m-d H:i:s')); var_dump("----------\r\r"); date_default_timezone_set( 'Asia/Tokyo' ); var_dump(date_default_timezone_get()); var_dump(date('Y-m-d H:i:s')); var_dump("----------\r\r"); date_default_timezone_set( 'UTC' ); var_dump(date_default_timezone_get()); var_dump(date('Y-m-d H:i:s')); var_dump("----------\r\r"); ?>

イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

UTC といいながら実は JST(+0900) になっている、というタイムゾーンの定義がそもそもおかしいようです。

私が試した環境(CentOS7)だと、UTC の定義ファイル(/usr/share/zoneinfo/UTC) は以下のようになっています。(hexdump -C UTC で出力)

アドレスhexdumpASCII
0000000054 5a 69 66 32 00 00 00 00 00 00 00 00 00 00 00TZif2...........
0000001000 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00................
0000002000 00 00 00 00 00 00 01 00 00 00 04 00 00 00 00................
0000003000 00 55 54 43 00 00 00 54 5a 69 66 32 00 00 00..UTC...TZif2...
0000004000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01................
0000005000 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01................
0000006000 00 00 04 00 00 00 00 00 00 55 54 43 00 00 00..........UTC...
000000700a 55 54 43 30 0a.UTC0.

投稿2017/03/28 10:19

tacsheaven

総合スコア13703

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

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

JJ878

2017/03/29 01:20

本当に、ありがとうございます。 お陰様で解決できました。 スッキリしました。 ご指摘のどおりtimezoneデータが壊れたみたいで #yum update tzdataでアップデートしたらなおりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問