2013-03-28 193 views
-1

我有以下代碼:轉換時間UTC格式

$start_time="6:00 PM"; 

$end_time="10:00 PM"; 

以上時間,提供按照國家timezone i.e (Asia/Colombo, Asia/Adelaide...etc)

而且我想執行以下測算:

date_default_timezone_set("UTC"); 
$system_time = date('g:i A'); //Getting the system time according to the UTC timezone 

    $time_left_for_discussion = $start_time - $system_time; 

    if ($system_day < $day) { 
     return "Upcoming"; 
    } else if ($system_day == $day) { 
     if ($time_left_for_discussion <= 0 && $system_time <= $end_time) { 
      return "Live"; 
     } else { 
      return "NA"; 
     } 
    } else { 
     return "NA"; 
    } 

這裏$ system_time是根據UTC時區。現在我想爲$ time_left_for_discussion進行計算,因此我需要將UTC格式的$ start_time和$ end_time轉換爲正確的計算。

希望你明白了我的觀點。

+0

爲什麼是負面....? – Sky

+2

[你有什麼嘗試](http://mattgemmell.com/2008/12/08/what-have-you-tried/)。附:我不是downvoter。只是回答你的問題。 – SomeShinyObject

+2

這個問題沒有顯示任何研究工作。 **做你的作業很重要**。告訴我們你發現了什麼,***爲什麼它不符合你的需求。這表明你已經花時間去嘗試幫助你自己了,它使我們避免重申明顯的答案,最重要的是它可以幫助你得到更具體和相關的答案。 [FAQ](http://stackoverflow.com/questions/how-to-ask)。 –

回答

0

試試看dateTime類。

$date = new DateTime("2010-07-05T06:00:00Z"); 
$date->setTimeZone(new DateTimeZone("UTC")); 
+0

感謝回答,但Plz檢查修改後 – Sky

+0

嗨我試過這個,但它不起作用 – Sky

+0

給錯誤:可捕捉的致命錯誤:類DateTime的對象無法轉換爲字符串 – Sky

0

使用可以使用getOffset function 對於時區轉換,你可以用這個作爲一個例子

<?php 

$userTimezone = new DateTimeZone('America/New_York'); 
$gmtTimezone = new DateTimeZone('GMT'); 
$myDateTime = new DateTime('2009-03-21 13:14', $gmtTimezone); 
$offset = $userTimezone->getOffset($myDateTime); 
echo $offset; 

echo date('Y-m-d H:i', $myDateTime->format('U') + $offset) 
?> 

這將會把時間轉換從GMT時間到紐約時區。