我可以获取特定时区的时间戳吗?

时间:2013-09-26 08:02:54

标签: php mysql sql timestamp

我有一个MySQL查询,可以在数据库中保存注释,并保存我想在另一个时区设置中保存时间戳的时间戳,我可以通过以下查询来执行此操作:

INSERT INTO tahminler 
(comment, comment_text, match_id, user_id, timestamp) 
VALUES ('$comment','$comment_text', $id, $user_id, now())

3 个答案:

答案 0 :(得分:0)

是。您可以在PHP上使用 date_default_timezone_set() 进行此操作。

<?php
echo date('Y-m-d H:i:s');// Your local server time
date_default_timezone_set('America/Los_Angeles');
echo "<br>";
echo date('Y-m-d H:i:s');// Los Angeles time

在设置您选择的时区后,请将 now() 替换为 date('Y-m-d H:i:s');

答案 1 :(得分:0)

你可以试试这个

//default timezone
$date = new DateTime(null);
echo 'Default timezone: '.$date->getTimestamp().'<br />'."\r\n";

//America/New_York
$date = new DateTime(null, new DateTimeZone('America/New_York'));
echo 'America/New_York: '.$date->getTimestamp().'<br />'."\r\n";

获取常规时间戳并添加UTC偏移量

  //America/New_York
    $date = new DateTime(null, new DateTimeZone('America/New_York'));
    echo 'America/New_York: '.($date->getTimestamp() + $date->getOffset()).'<br />'."\r\n";

答案 2 :(得分:0)

你可以像这样添加列时间戳来改变你的表....

 ALTER TABLE `table1` ADD `lastUpdated` TIMESTAMP 
 ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 

这会添加一个名为&#39; lastUpdated&#39;的列。使用当前日期/时间的默认值。当该记录更新时(比如5分钟后),该时间戳将自动更新为当前时间。