2014-01-21 92 views
1

我正試圖顯示一個存儲在MySQL數據庫中,具有特定時區的時間。在PHP中設置時區

$time = '2014-01-20 21:40:13'; 

有沒有辦法打印這次GMT+5.30 or Asia/Kolkata (timezone)

+0

什麼TZ數據庫中的日期是? – zerkms

+1

我得到了一些存儲在我的數據庫中的記錄,並且我想在特定的時區顯示該記錄中的時間,並且我已經看到「date_default_timezone_set()」,但我不認爲它足夠用於此.. –

回答

3

面向對象的風格

<?php 
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru')); 
echo $date->format('Y-m-d H:i:sP') . "\n"; 

$date->setTimezone(new DateTimeZone('Pacific/Chatham')); 
echo $date->format('Y-m-d H:i:sP') . "\n"; 
?> 

程序風格

<?php 
$date = date_create('2000-01-01', timezone_open('Pacific/Nauru')); 
echo date_format($date, 'Y-m-d H:i:sP') . "\n"; 

date_timezone_set($date, timezone_open('Pacific/Chatham')); 
echo date_format($date, 'Y-m-d H:i:sP') . "\n"; 
?> 

Documentation: http://us3.php.net/manual/en/datetime.construct.php

+1

[直從文檔中,就像我喜歡它](http://us3.php.net/manual/en/datetime.construct.php) – Ohgodwhy

3

date_default_timezone_set()功能與要求時區的單引號的說法,所有的date()低於以下將顯示時間在請求的時區

<?php 
    date_default_timezone_set("Asia/Kolkata"); 
    echo date('d-m-Y H:i:s'); //Returns IST 
?> 
0

讓MySQL返回UNIX_TIMESTAMP() UNIX時間戳的時間並使用PHP DateTime將其格式化爲所需的時區。

0
**Try the code........** 

<?php date_default_timezone_set('America/Los_Angeles');?> 

More detail here: http://www.php.net/manual/en/function.date-default-timezone-set.php