当用户注册我的网站时,他们以以下格式输入每周可用性:
周一 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); ?>
基本上,我得到了他/她输入的个人资料"所有者"时区,将时区设置为该时区,然后将时区设置为"查看者"时区并将变量设置为该时区。
谢谢大家的帮助!