2011-10-29 6 views
0

日付は私のネメシスです、私はちょうどそれらを理解できないので、不精な質問を許してください!私はLAMPベースのアプリケーションをサポートしています。明日の午前2時に、夏時間のために時計は1時間前に戻ります。私は、自分のアプリケーションコードやデータを調整する必要があるかどうかを判断しようとしています。ここでの設定は次のとおりです。PHP UNIXタイムスタンプint(10)DST

サーバのタイムは、PHPタイムゾーンがdate_default_timezone_set(「ヨーロッパ/ダブリン」)に設定されているUTC

です。

MySQLの表は、CREATE文は次のとおりです。

CREATE TABLE `databasename`.`events` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`name` VARCHAR(40) NOT NULL , 
`event_date` INT(10) UNSIGNED NOT NULL 
) ENGINE = MYISAM ; 

私が使用してイベントを格納します。

mysql_query("INSERT INTO `events` (`name`, `event_date`) VALUES ('name', ".time().")"); 

私はこれに類似したクエリを使用して、データベース内の今後のイベントをチェック:

mysql_query("SELECT `id`, `name` FROM `events` WHERE `event_date` - " . time() . " < 0"); 

明日午前2時以降の通気孔は一時間早く外出しますか?

+0

もいいですので、それは*正確に* 2AMのイベントの場合可能性があり、ダブリンのDSTを(自動的に切り替える)を使用する必要があります。 – GolezTrol

+0

ありがとうございます - 追加するには、最初のクエリが正しくありません。 sql_query( "INSERT INTO' events'( 'name'、' event_date')VALUES( 'name'、 "。$ epochinfuture。") "); – Niall

答えて

1

「ヨーロッパ/ダブリンは、」あなたが

+0

これはおかげさまで、PHPを使ったtime()関数はタイムゾーンの設定を考慮しており、私の知る限りのUTCではありません恐れている。例:mktime(1:59 am)== mktime(2:59 am)? – Niall

+0

date_default_timezone_setはTZを設定し、関連するすべての関数がそれを使用してから 物理的なタイムゾーン(地図上では縞模様のように見える)とdstなどの異なる都市/国で使用される「実際の」時間がありますタイムゾーンとバック。だからこそ、phpは "utc +1"のような構文を使わずに都市関連の設定を使うのです。ダブリンは実際には物理的なタイムゾーンから外れており、すぐにこのコードdate_default_timezone_set( 'Europe/Dublin')のコードのおかげで戻ってきます。それはあなたの問題ではありません – bcat

+0

助けていただきありがとうございます。 – Niall

関連する問題