php使用timezone将datetime转换为unixtime

时间:2017-10-11 09:47:01

标签: php date

我有亚洲/卡拉奇的日期时间2017-10-11 09:40:42我想将其转换为unix时间戳。

注意:我有多个不同时区的记录,例如:澳大利亚/悉尼

我无法将其转换为以下代码

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');

1 个答案:

答案 0 :(得分:0)

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