【问题标题】:how to save current local time in database如何在数据库中保存当前本地时间
【发布时间】:2009-09-11 23:19:23
【问题描述】:

我想在我的数据库中保存我所在国家/地区的当地时间(新西兰)。我正在使用php,但我不知道该怎么做。

请指导我。

【问题讨论】:

  • 您使用的是什么数据库?是你想要存储的时间吗?到目前为止你有什么?
  • 快速浏览 jazzrai 的其他问题,可能是 MySQL 或 SQL Server 2005

标签: php sql


【解决方案1】:

这个

 日期('O');

将为您提供服务器与格林威治时间 (GMT) 的时差示例:+0200

您需要知道自己时区的 GMT 偏移量。

使用这两个数字来计算服务器在您前面或后面的距离,然后使用 strtotime() 获取您的当前时间。

例如,如果服务器比你早 2 小时,你会使用

 date("Y-m-d H:i:s", strtotime("-2 hours"));

HTH

JG

【讨论】:

    【解决方案2】:

    在插入查询中使用 now() 或 sysdate():

    insert into mytable set datetimefield=sysdate()
    

    只需确保服务器时间已同步,并且位于正确的时区。否则你将不得不做一些额外的技巧来改变日期/时间。

    如果时机至关重要,请记住这一点:

    从 MySQL 5.0.13 开始,SYSDATE() 返回 它执行的时间。这个 与 NOW() 的行为不同, 它返回一个常数时间 表示时间 语句开始执行。 (在一个 存储的例程或触发器,NOW() 返回例程的时间 或触发语句开始 执行。)

    【讨论】:

      【解决方案3】:

      如果您使用时间戳字段和 MySQL 数据库,您只需调用 CURRENT_TIMESTAMP。我建议不要将时间数据保存为 unix 时间戳,因为您可以在日期/时间戳字段上使用特定于日期的函数,并从中提取 unix 时间戳。

      【讨论】:

        猜你喜欢
        • 2022-12-10
        • 1970-01-01
        • 1970-01-01
        • 2018-11-04
        • 1970-01-01
        • 2018-04-09
        • 1970-01-01
        • 1970-01-01
        • 2020-11-06
        相关资源
        最近更新 更多