如何在数据库中保存当前本地时间

时间:2009-09-11 23:19:24

标签: php sql

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

请指导我。

3 个答案:

答案 0 :(得分:1)

  date('O');

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

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

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

例如,如果服务器提前2小时,您将使用

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

HTH

JG

答案 1 :(得分:0)

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

insert into mytable set datetimefield=sysdate()

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

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

  

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

答案 2 :(得分:0)

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