2009-09-11 88 views
1

我想将我的国家当地时间(新西兰)保存在我的数据库中。我使用PHP,但我不知道如何去做。如何在数据库中保存当前的当地时间

请指导我。

+2

你正在使用什么数据库?是你想要存储的时间吗?到目前为止,你有什么? – 2009-09-11 23:28:45

+0

快速浏览jazzrai的其他问题,可能是MySQL或SQL Server 2005 – 2009-09-11 23:50:16

回答

1

 date('O');

会给你的差异服务器格林威治时间(GMT)以小时为单位例如:+0200

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

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

例如,如果服务器是未来的你2个小时内与您如果您使用时间戳字段和MySQL数据库将使用

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

HTH

JG

0

使用NOW()或SYSDATE()在你的插入查询:

insert into mytable set datetimefield=sysdate() 

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

如果时间是至关重要的,记住这一点:

MySQL 5.0.13开始,SYSDATE()返回 处执行的时间。 与NOW()的行为不同, 返回一个恒定的时间, 表示 语句开始执行的时间。 (在一个 存储程序或触发器,NOW() 返回在其日常 或触发语句开始 执行时间。)

0

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

相关问题