首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP to MySQL日期时间格式设置

使用PHP to MySQL日期时间格式设置
EN

Stack Overflow用户
提问于 2012-05-02 01:12:06
回答 2查看 1.6K关注 0票数 0

我正在尝试将$dt = "Tue May 15 00:09:06 UTC+0100 2012"转换为MySQL数据库服务器的datetime字段,但输入的值总是落后6小时。

我的服务器在美国达拉斯,我在英国。

有什么办法解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-02 01:17:11

如果没有更多的信息(例如,一些代码),就很难进行调试,但是考虑到您提供的变量,下面的代码片段可能会起作用:

代码语言:javascript
复制
<?php
$dt_for_db = gmdate("Y-m-d H:i:s", strtotime($dt));

然后,每次从数据库中提取数据时,请确保将GMT (开头有一个空格)附加到每个日期。

代码语言:javascript
复制
<?php
$dt_from_db = $dt_from_db.' GMT';

基本上,MySQL datetime列中的日期不存储时区信息,因此您必须始终知道您使用的时区(协调世界时/格林尼治时间)。然后,在使用任何date函数之前,将该时区附加到您从数据库中提取的每个日期的末尾(因为date函数假定没有指定时区的日期是本地时间)。

票数 0
EN

Stack Overflow用户

发布于 2012-05-02 01:22:48

使用

代码语言:javascript
复制
 date_default_timezone_set("America/New_York");

将"America/New_York“替换为伦敦的代码,以将您的服务器时区转换为适当的GMT时区。如果你在寻找时区的东西,你可以在php.net上找到正确的代码。

只需将它放在使用日期的每个页面的顶部,然后通过->format('c')函数使用php DateTime对象即可。

如果您有权访问php.ini文件,还可以在该文件中设置时区信息。

-Jordan

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

https://stackoverflow.com/questions/10401428

复制
相关文章

相似问题

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