使用PHP在MySQL中存储时间

时间:2014-05-12 09:46:14

标签: php mysql

我很难使用PHP在MySQL中存储时间记录,我希望有人能帮助我。

我真正需要的是我的电脑时间并将其存储到我的数据库中。 我试过用这个

$time_in = date ("h:i:s:a:");

然后将其存储到我的数据库中,但问题是,它显示不正确的时间。(+6:00,我认为)

那么,我如何获取自己计算机的当前时间并将其存储在我的数据库中? 提前谢谢。

5 个答案:

答案 0 :(得分:2)

以下是您需要的代码:

<?php
date_default_timezone_set('Asia/Calcutta'); 
$time = date('H:i:s');
$date = date('d-m-Y');
echo "Date is ".$date."Time is ".$time;
echo $date1;
?>

将其存储在数据库中:

<?php
$con=mysqli_connect("localhost","username","password","my_db");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysqli_query($con,"INSERT INTO date_time (Date, Time)
VALUES ('$date', '$time')");


mysqli_close($con);
?>

注意:

date_default_timezone_set('Asia/Calcutta'); 
  1. 根据您的情况更改位置。
  2. 以下是Supported Timezones Officially php.net

    的列表
    1. 在运行此代码之前创建一个名为date_time的表。

答案 1 :(得分:1)

您需要使用时区设置并在插入前根据您所在的区域进行设置。例如:

date_default_timezone_set('America/Kentucky/Louisville');
$time_in = date("h:i:s");
// perform insertion

有关支持的时区列表,请参阅PHP Timezones

答案 2 :(得分:0)

你可以试试这个:

<?php

        $time_nowb=mktime(date('h')+11,date('i')+30,date('s')-15);  
        $added_date = date('Y-m-d h:i:s',$time_nowb);
        echo $added_date ;

?>

答案 3 :(得分:0)

您应该对您的区域使用 date_default_timezone_set ,并在mysql表格中使用 timestamp 字段。

更多信息:

http://php.net/manual/en/function.date-default-timezone-set.php

<?php

date_default_timezone_set('Europe/Dublin'); 
$myDate = date("Y-m-d H:i:s"); // mysql timestamp: (YYYY-MM-DD HH:MM:SS)
mysql_query("insert into `mytable` set `mytime` = '$myDate'");

?>

或者您可以使用偏移设置数据库时区并使用mysql日期/时间函数。

MySQL的:

SET time_zone='offset';

更多信息:How do I set the time zone of MySQL?

答案 4 :(得分:0)

您的数据库也知道您的计算机时间。只需使用mysql函数NOW()在数据库中添加当前时间即可。像

这样的东西
INSERT INTO mytable (mydata, created) values ("some data", NOW());

如果数据库与执行脚本位于同一台计算机上,则此方法非常有效。

如果您需要将计算机的日期发送到远程计算机上的数据库,那么这是以mysql日期格式获取当前时间的正确方法

$time = date("Y-m-d H:i:s");