2011-07-08 4 views
17

サーバから日時を取得したいと思っています。サーバから日時を取得する方法

$info = getdate(); 
$date = $info['mday']; 
$month = $info['mon']; 
$year = $info['year']; 
$hour = $info['hours']; 
$min = $info['minutes']; 
$sec = $info['seconds']; 

$current_date = "$date/$month/$year == $hour:$min:$sec"; 

このコードは、適切な日付を返しますが、問題は、私は私のcPanelの(サーバ時間)に見えるものの差分であるということである。このために私は次のコードを使用していました。私がコードから得るものよりも。私はこれが起こって、何の変化私は、適切なサーバーの時間を得ることができるように私のコードにしなければならないのはなぜ次のコード

<?php echo date("r == e"); ?> 

を使用して再確認されUTCを示しているコードからつつ、cPanelの時間ではCDTです。あなたが欲しいtimezonesのいずれかにあなたはタイムゾーンを設定する必要が

答えて

46

あなたはすべきであるset the timezone

// set default timezone 
date_default_timezone_set('America/Chicago'); // CDT 

$info = getdate(); 
$date = $info['mday']; 
$month = $info['mon']; 
$year = $info['year']; 
$hour = $info['hours']; 
$min = $info['minutes']; 
$sec = $info['seconds']; 

$current_date = "$date/$month/$year == $hour:$min:$sec"; 

それともずっと短いバージョン:

// set default timezone 
date_default_timezone_set('America/Chicago'); // CDT 

$current_date = date('d/m/Y == H:i:s'); 
+0

リアルタイムカウントで表示する方法 –

2

だけのDateTimeオブジェクトにしたいtimezoneを指定し、スクリプト全体のためdate_default_timezone_setを使用する必要があります。

$now = new DateTime(null, new DateTimeZone('America/New_York')); 
$now->setTimezone(new DateTimeZone('Europe/London')); // Another way 
echo $now->format("Y-m-d\TH:i:sO"); // something like "2015-02-11T06:16:47+0100" (ISO 8601) 
5

お試しください -

<?php 
date_default_timezone_set('Asia/Kolkata'); 

$timestamp = time(); 
$date_time = date("d-m-Y (D) H:i:s", $timestamp); 
echo "Current date and local time on this server is $date_time"; 
?> 
+0

AFAIK $ date_timeは文字列の外にある必要がありますか? – user7185318

+0

PHPの変数を二重引用符で囲んで書くと正しい結果が得られますが、一重引用符で囲んだ場合は同じ変数名になります。 –

0

.. FOR

  1. 開き、任意のエディタでXAMPP/PHP/php.iniのファイルの手順に従って、PHP拡張項目で絞り込み可能。
  2. 検索「; extension = php_intl.dll」
  3. 開始セミコロン(;)を好きなように親切に削除します;拡張子= php_intl.dll。に。 extension = php_intl.dll。
  4. xampp/php/php.iniファイルを保存します。
  5. xampp/wampを再起動します。
関連する問題