2017-10-11 93 views
0

我有日期時間2017-10-11 09:40:42亞洲/卡拉奇我想將其轉換爲unix時間戳。php將datetime轉換爲unixtime和時區

注:我有不同的時區例如多個記錄:澳大利亞/悉尼

我沒把它從下面的代碼轉換

function unixTimefromTime($thetime='now',$timezone){ 
    if(is_numeric($thetime)){ 
     $dt = new \DateTime('@'.$thetime); 
     $dt->setTimeZone(new \DateTimeZone($timezone)); 
     return $dt->getTimestamp(); 
    } else { 
     $date = new \DateTime($thetime, new \DateTimeZone($timezone)); 
     return $date->getTimestamp(); 
    } 
} 

unixTimefromTime('2017-10-11 09:40:42','Asia/Karachi'); 
+0

嘗試[這](https://開頭計算器.com/questions/1670797/convert-date-to-unixtime-php) – Sand

+0

它如何與時區一起工作? – user3151197

+0

你可以請嘗試這個https://stackoverflow.com/questions/8668108/how-to-get-unix-timestamp-in-php-based-on-timezone – Abhijit

回答

0
function DateTimeToUnixFromTimezone($dateNTime,$timezone){ 
    $date = new DateTime($dateNTime, new DateTimeZone($timezone)); 
    return $date->getTimestamp() + $date->getOffset(); 
} 
+0

值得注意的是,如果將偏移量添加到時間戳,它不再是unix時間。這樣做幾乎總是一個錯誤。我想不出任何人會想要這樣的理由。 – Evert

相關問題