2015-12-30 93 views
-2

我需要將存儲在數據庫中的unix時間戳轉換爲Y-m-d H:i:s格式的本地時區(美國,新加坡等)。從unix時間戳轉換爲當地時間

$ selectedTime是從數據庫返回的Unix時間戳。

$ timezone_name是從jquery動態返回的時區。

function draw_date_time_form($selectedTime = '',$timezone_name){ 

    $date = new DateTime(null); 

    if(is_numeric($selectedTime) && (int)$selectedTime == $selectedTime){ 
     $date->setTimestamp($selectedTime); 
     $date->setTimezone(new DateTimeZone($timezone_name)); 

       $formattedtime= $date->format(DateTime::RFC850); 
     } 

     } 

我收到服務器的默認設置時區的本地時間$ FORMATTEDTIME。 任何人都可以幫助我提供更好的解決方案嗎?

回答

0

嘗試請求的這一::

function draw_date_time_form($selectedTime = '',$timezone_name){ 

    $date = new DateTime(); 

    if(is_numeric($selectedTime) && (int)$selectedTime == $selectedTime){ 
     $date->setTimestamp($selectedTime); 
     $date->setTimezone(new DateTimeZone($timezone_name)); 

       $formattedtime= $date->format("Y-m-d H:i:s"); 
     } 

} 
1

基本例如:

$timestamp = 1371278212; 
$timezone = "UTC"; 
$dt = new DateTime(); 
$dt->setTimestamp($timestamp); 
$dt->setTimezone(new DateTimeZone($timezone)); 
$datetime = $dt->format('Y-m-d H:i:s');