我有一个MySQL查询,可以在数据库中保存注释,并保存我想在另一个时区设置中保存时间戳的时间戳,我可以通过以下查询来执行此操作:
INSERT INTO tahminler
(comment, comment_text, match_id, user_id, timestamp)
VALUES ('$comment','$comment_text', $id, $user_id, now())
答案 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分钟后),该时间戳将自动更新为当前时间。