doubeijian2257 2013-09-30 20:25
浏览 17
已采纳

PHP普遍将时间转换为用户首选项[重复]

This question already has an answer here:

Firstly, I have a column like shown in this picture:
http://i.imgur.com/yYpxl3S.png

Users choose their timezone when they register. How would I go about interpreting time according to the user? In this situation I want users to be able to define when they want people to be active, so IE Bob wants to search for users who are active from 9am to 12pm. What timestamps would I need to insert into the database so that users could search in this manner?

Update

I was also asking on exactly how to find if one time overlaps with another, however the cross time formatting is essential to this. I will include this code snippet of how I found if times were overlapping. Thanks Pekka for the proper answer too.

    <?php 
    date_default_timezone_set('UTC'); 
    $min = strtotime('9am');
    $max = strtotime('12pm');
    echo $min. ',' .$max . '<br/>';
    date_default_timezone_set('America/Chicago');
    $mina = strtotime('11pm');
    $maxa = strtotime('5am');
    echo 'User plays between' . date("g:ia", $min) . ' and ' . date("g:ia", $max) . '<br />';
    echo 'You play between' . date("g:ia", $mina) . ' and ' . date("g:ia", $maxa) . '<br />';
    if((($mina >= $min) And ($mina <= $max)) Or (($maxa <= $max) And ($maxa >= $min)) 
        Or (($min >= $mina) And ($min <= $maxa)) Or (($max <= $maxa) And ($max >= $mina))
    ) {
        $blend = 'True';
    } else {
        $blend = 'False';
    }
    if($maxa === $min Or $mina === $max) $blend = 'False';

    echo $blend;

    ?>

With this example you will see that 9am-12pm UTC overlaps with 11pm-5am America/Chicago

</div>
  • 写回答

1条回答 默认 最新

  • douzhao7445 2013-09-30 20:29
    关注

    See Daylight saving time and time zone best practices

    Bottom line: store UTC timestamps internally, translate all user input from and to their preferred time zone. That's pretty much it.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛