首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用时间戳php函数提供帮助

使用时间戳php函数提供帮助
EN

Stack Overflow用户
提问于 2012-03-02 09:51:22
回答 1查看 149关注 0票数 0

我需要将时间戳转换为UTC-5

$offset是用户的时区,取值范围为-12到12。$ds是夏令时,如果启用,将增加一个小时。我创建了这个函数,但我认为它会根据用户的时区将UTC-5时间戳转换为新的时间戳……我需要对函数进行反转,以便返回UTC-5格式的时间戳。当然,问题比这个大得多,但这就是我被卡住的地方。有什么办法可以做吗?

代码语言:javascript
复制
function input_date($timestamp)
{
    global $vbulletin;
    $timestamp = (int)$timestamp;

    if (strlen((string)$timestamp) == 10)
    {
        $hour = 3600.00;
        $offset = $vbulletin->userinfo['timezoneoffset'];//sample -8
        $ds = (int)$vbulletin->userinfo['dstonoff'];//DST values are 1 or 0
        $fluff = $hour*($offset+5.00);
        $timestamp = $timestamp+$fluff+($ds*$hour);

        return $timestamp;//return timestamp in UTC-5 format..
    }
    else
    {
        return 0;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2012-03-02 10:20:05

哇哦。谈到重新发明轮子!而且在一个出了名的难以正确处理的领域(日期/时间操作)也是如此。

您看过DateTimeDateTimeZone类吗?除了做基本的数学之外,他们还将帮助你解决这个编程领域的特殊问题(每个县的DST!闰年!)。

我不得不问,你为什么要这么做?根据定义,UNIX时间戳与时区、DST等无关。它被精确地定义为自给定参考日期以来经过的秒数,并且时间流(尽管存在相对论效应;-)对于位置或立法者的特定特性是不变的。

也许如果你能更详细地描述你的实际目标是什么,那么我们可能会提出一种更连贯的方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9526939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档