当前位置: 首页 > 面试题库 >

在PHP / MySQL中将日期时间存储为UTC

唐哲
2023-03-14
问题内容

我所读到的有关将时间转换为用户时区的所有信息都说,最好的方法是在UTC中存储日期和时间,然后将用户的时区偏移量添加到该时间。

如何以UTC时间html" target="_blank">存储日期?我使用MySQL DATETIME字段。

当在我的PHP代码中向MySQL添加新记录时,我将用于now()插入MySQL DATETIME。

我需要使用不同于now()存储UTC时间的其他方法吗?


问题答案:

MySQL: UTC_TIMESTAMP()

以’YYYY-MM-DD
HH:MM:SS’或YYYYMMDDHHMMSS.uuuuuu格式返回当前UTC日期和时间作为值,具体取决于该函数是在字符串还是数字上下文中使用

PHP: gmdate()

PHP中date_default_timezone_set()也使用PHP来设置脚本的当前时区。您可以将其设置为客户时区,以便所有格式设置功能都以当地时间返回时间。

实际上,尽管我很难做到这一点,但总是遇到一些麻烦。例如。MySQL返回的时间信息未格式化为“
UTC”,因此如果您不小心,strtotime会将其转换为本地时间。我很想知道是否有人对此问题有一个
可靠的 解决方案,当日期跨越媒体边界时,该解决方案不会中断(HTTP-> PHP-> MySQL和MySQL-> PHP->
HTTP),同时考虑到XML和RSS /原子。



 类似资料:
  • 问题内容: 我在这里看到了一些相关的问题……本质上,我想要的是将日期时间存储为UTC,并让应用程序用户选择他想显示日期的时区-time in。 由于似乎日期时间字段受基础JDBC驱动程序的影响,所以我想知道这是否是存储UTC日期时间的可接受方法: 将MySQL和Application Server计算机都设置为UTC时区(无需分开) MySQL和JVM都应该选择基础系统时间设置(如果没有其他说明的

  • 我有一个移动应用程序和Rest服务。移动应用程序将生成并向web服务提供UTC日期、时间和时区。我需要使用PHP将这两个值存储到mysql中。 我是从远程源获取日期时间的,所以我不能使用MySQL的UTC_TIMESTAMP()来生成“当前”utc时间。 INSERT语句如何存储$CREATE,as is(UTC)而不将其存储为服务器的默认时区? 我是否必须在PHP中将它从UTC转换为我的服务器的

  • 问题内容: 有谁知道如何将JS dateTime转换为MySQL datetime?还有一种方法可以向JS日期时间添加特定的分钟数,然后将其传递给MySQL日期时间? 问题答案: 尽管JS确实拥有足够的基本工具来执行此操作,但它相当笨拙。

  • 问题内容: 在MySQL中,我讨厌将列和(分别是用于创建和最后修改的日期时间戳)添加到数据库中的所有表中。 每当我或数据库时,我都必须使用关键字。这遍了我的坚持。 有没有一种有效的替代方法,MySQL可以至少自动存储所插入行的数据时间并让我对其进行检索? 问题答案: 您可以使用DEFAULT约束来设置时间戳: 这样,您就不必在INSERT / UPDATE语句中指定。 参考:TIMESTAMP属性

  • 问题内容: 我需要一种简便的方法,可以在不使用任何库的情况下将日期时间戳转换为UTC(从服务器所在的任何时区)。 问题答案: 尝试getTimezone和setTimezone,请参见示例 (但这确实使用了一个类) 更新: 没有任何类,您可以尝试这样的事情: 注意:您可能还需要将时区设置回原始

  • 我需要使用php将日期时间插入到oracle表中。 我的日期字符串是这种格式: 当我在php中使用这种格式时, $date1=to_date('2013-10-22 08:02:30','YYYY-MM-DD HH24: MI: SS') 我看到oracle表中的数据是PM格式的。这怎么可能?我如何更改to\u日期,以便任何时间12都是上午,任何时间12点及以上都是下午?