2017-10-11 11 views
0

私はdatetimeを持っています2017-10-11 09:40:42 of Asia/Karachi私はそれを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://でのstackoverflow .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

関連する問題