PHP默认时区集

时间:2015-07-01 15:00:21

标签: php timezone mktime

我在PHP中设置默认时区有一个看似简单的问题。我试图使用default_timezone_set()来影响我的mktime()功能失败。

简而言之,我的服务器设置为UTC,我使用default_timezone_set()设置时区,然后调用mktime()设置数据库日期时间戳。

但是,返回的时间(以毫秒为单位)将以UTC时间的形式返回。我回应了default_timezone_get(),它确实以我设置的时区返回,并且似乎无法确定为什么一旦我成功设置了时区,它就不会影响{ {1}}功能。

我在这里遗漏了什么吗?是不是设置了应该影响PHP中所有日期/时间函数的默认时区?

3 个答案:

答案 0 :(得分:2)

Unix时间戳总是以UTC格式,您需要在获取时间戳后将其转换为正确的时区

答案 1 :(得分:0)

您是否尝试过使用date_default_timezone_set?来自mktime manual

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="dv_country">
        <select name="country" class="form-control"> 
                <option value="" selected="selected">Select Country</option> 
                <option value="United States">United States</option> 
                <option value="United Kingdom">United Kingdom</option> 
                <option value="Afghanistan">Afghanistan</option> 
                <option value="Albania">Albania</option> 
                <option value="Algeria">Algeria</option>            
                <option value="Canada">Canada</option> 
        </select>
</div>

<div class="dv_state_US autoState">
            <select name="state" class="form-control"> 
                    <option value="AL">Alabama</option>
                    <option value="AK">Alaska</option>
                    <option value="AZ">Arizona</option>
                    <option value="AR">Arkansas</option>    
                    <option value="CA">California</option>
            </select>
    </div>

<div class="dv_state_CA autoState">
            <select name="state" class="form-control"> 
                <option value="AB">Alberta</option>
                <option value="BC">British Columbia</option>
                <option value="MB">Manitoba</option>
                <option value="NB">New Brunswick</option>
            </select>
</div>

答案 2 :(得分:0)

我在这里愚蠢,我刚刚意识到我没有从第三个PHP文件调用时区集,当然,date_default_timezone_set()函数不会影响单独的文件。

然而,答案和评论给了我一些关于如何处理它的新想法!谢谢大家的意见。