添加2个不同的时间戳并处理PHP Datetime类

时间:2016-08-24 18:13:38

标签: php datetime timestamp

我正在构建一个显示特定日期特定时间的应用程序。此应用程序旨在为全球的人们服务。

我用一小时格式的TZ(-4 / 2 / 9.5 / -1ETC)进行所有计算。 (别担心。小时tz是在DST计算之后)

现在,我想向用户显示他当地时间。由于开发原因,我只能使用小时tz进行此计算。

经过多次尝试后,我想写一段似乎有效的代码。 (测试它几个时区,negetive和积极)

我想知道我的代码是否正常?我能以更有效的方式做到吗?这段代码支持无限日期范围吗?

这是代码:

     static function current_local_time_zmanim($tz)
/*
 * This function will get the number of hours off set (the time zone that Full_Zmanim_calculation() is using to make the calcukation) and will return the current local time and date.
 */ {
        $tz= ($tz * 3600);// calculatoin:  (hour offset(tz. can be -4 or 4) * 3600). eg: (-4*3600) or (3*3600)// converting the hour tz to TIMESTAMP 
        $date_utc = new DateTime(null, new DateTimeZone("UTC")); // current time in UTC. 
        $utctime= $date_utc->getTimestamp(); // current time in UTC TIMESTAMP
        $date_utc->setTimestamp($utctime + ($tz));// keep in mind that tz can be either positive or negetive
        $localtime= $date_utc->format('H:i');
        echo "<br> local time: $localtime <br> ";
        return $localtime;

    }

您怎么看?

谢谢!

0 个答案:

没有答案