PHP 如何调整可用性时区



当用户注册我的网站时,他们以以下格式输入每周可用性:

周一 1300 至 1400星期一 2100 到 2200

周二 1200 到 1300周二 1400 到 1500

等。

他们还根据选择菜单指示其时区,例如美国/Los_Angeles。

我想发生的是根据访问其个人资料的用户的时区来调整这些时间,这些用户设置了不同的时区。最好的解决方案是什么?

将其可用性存储为与纪元的秒数,然后根据用户的时区将其转换为用户的适当时间。

将 UTC 和所选时区之间的差异存储在字段值中

<option value="3">UTC+3 timezone</option>
<option value="-5">UTC-5 timezone</option>

然后将其添加或剪切到小时输出。如果这种差异提供阴性结果或超过 24 小时 - 设置一周的第二天或前一天。

我认为你真的不需要这样的间隔的unixtime。

我实际上最终这样做了:

<?php while ($ava = mysql_fetch_array($avail_action)) { 
    date_default_timezone_set($profile_owners_timezone);
    $timestamp_from = strtotime($ava['time_from']);
    $timestamp_to = strtotime($ava['time_to']);
            date_default_timezone_set($_SESSION['timezone']);
    $time_from = date("g:i A", $timestamp_from);
    $time_to = date("g:i A", $timestamp_to); ?>

基本上,我得到了他/她输入的个人资料"所有者"时区,将时区设置为该时区,然后将时区设置为"查看者"时区并将变量设置为该时区。

谢谢大家的帮助!

最新更新