无法记录正确的数据库时间

时间:2014-01-25 16:03:07

标签: php mysql sql datetime timestamp

我无法将正确的时间记录到我的数据库中。现在我的电脑上的时间显示是2014-1-25 10:38:30但是当我使用$ datetime = date('Ymd H:i:s',time())和记录时间记录为2014-01- 25 16:34:02在我的数据库中我的数据库中的列类型是DATETIME。我已经将计算机的时区更改为UTC-05:00,因为这是我从中国带来的计算机。

我有一个按钮 这是HTML

 <span  id="postbutton" style="cursor:pointer; font-weight:bold; font- size:20px;">Launch</span>

这是我的javascript

$('#postbutton').click(function(){

var timestamp= new Date().getTime();
$.ajax({

url:'post_handle.php',
method:'POST',
data:{timestamp:timestamp},
success:function(data){

//do something;
}
})

这是我的PHP:

if(isset($_POST['timestamp'])){

$timestamp=$_POST['timestamp'];
//here below is the time i want to record
$datetime=date('Y-m-d H:i:s',$timestamp);



$Insert=mysql_query("INSERT INTO `user_post` VALUES('','','$datetime') ")

2 个答案:

答案 0 :(得分:0)

您可以直接在数据库中执行此操作:

INSERT INTO `user_post`
    select '', '', now();

这实际上比从应用程序层执行更安全。数据库中的所有日期时间值都是一致的。

答案 1 :(得分:0)

首先,不要使用mysql_query。它不安全且已弃用,see here。查找PDO。

数据保存正常,格式正确,因此不存在数据库问题。当您使用PHP设置时间时,您可以完全排除数据库。

您需要考虑时间源()。这不是你的PC时钟,或者会议记录是相同的,所以来源是另一回事。尝试更改服务器(你使用Apache吗?)时区/本地化。