首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在sql数据库中关闭PHP和Javascript聊天室的时间戳

在sql数据库中关闭PHP和Javascript聊天室的时间戳
EN

Stack Overflow用户
提问于 2012-09-28 23:16:02
回答 1查看 522关注 0票数 2

基本上,我一直在尝试按照教程来创建聊天室。

Ajax Web Chat Tutorial

我已经完成了所有的工作,除了时间显示不正确,我不知道从哪里开始。

步骤1.聊天立即显示用户的行(使用javascript的Date()正确显示,因此用户认为系统速度很快)

步骤2.然后,它转到数据库并存储聊天行,其中列“ts”将current_timestamp存储为时间戳。

步骤3.在Ajax从数据库中获取聊天记录并刷新聊天记录以显示“真实”聊天记录后,即使代码应该将聊天记录转换为用户的时区,聊天记录也无法正确显示。下面的代码可以让你对我所处的位置有一个大致的了解。

chat数据库抓取时间: //返回创建聊天的GMT (UTC)时间:

代码语言:javascript
复制
        $chat->time = array( 
            'hours'     => gmdate('h',strtotime($chat->ts)),
            'minutes'   => gmdate('i',strtotime($chat->ts))
        );

然后将其发送到javascript以更新聊天室的聊天行

//所有时间都显示在用户的时区var d= new Date();

代码语言:javascript
复制
    if(params.time) {
        // PHP returns the time in UTC (GMT). We use it to feed the date
        // object and later output it in the user's timezone. JavaScript
        // internally converts it for us.

        d.setUTCHours(params.time.hours,params.time.minutes);
    }
    params.time = (d.getHours() < 10 ? '0' : '' ) + d.getHours()+':'+
                  (d.getMinutes() < 10 ? '0':'') + d.getMinutes();

示例:用户提交聊天线路..

Javascript打印11:07...

SQL将current_timestamp保存为8:07 ...

PHP从数据库抓取并将其转换为12:07

d.setUTCHours = 1348834072033

最后使用javascript将params.time打印到8:07

我不认为我错过了任何其他的东西。有人能帮上忙吗?在这几天里,我真的感觉很糟糕。Javascript很好..。我认为SQL正在做它应该做的事情,并将其转换为通用时间或GMT?:P和PHP非常接近。一个小时后,javascript没有完成它应该做的事情:(

EN

回答 1

Stack Overflow用户

发布于 2012-09-28 23:27:24

这里有,什么,三个不同的系统?web浏览器、数据库和web服务器(运行PHP),对吗?

它们是否同步?它们的配置是否正确?这就是您应该开始的地方。

http://en.wikipedia.org/wiki/Ntpd

https://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html

http://php.net/manual/en/datetime.configuration.php

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

https://stackoverflow.com/questions/12642773

复制
相关文章

相似问题

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