我正在为一个客户端开发一个MySQL应用程序,其中日期和时间起着重要的作用。
现在的问题是,在我的所有MySQL表中,我使用DATETIME()类型来存储日期/时间,如果我比较使用php的date函数的日期和用MySQL的NOW()函数插入的数据,就会有很大的不同。
例如:
INSERt INTO sales_session (userid,start_time)
VALUES ('".$_SESSION['active_userid']."',NOW()) 在上面的查询中,start_time存储为2015-02-20 22:42:08。
如果我想在当前时间和开始时间之间进行一些检查/计算/比较,我将面临主要问题,因为我正在使用PHP的date函数。
所以我现在的时间是$current_time = date('Y-m-d h:i:s');,它显示了2015-02-21 :45:45
我真的很想知道如何处理这个问题,因为$current_time中的NOW()与MySQL的NOW()完全不同。
谢谢。
发布于 2015-02-21 06:11:46
<?
$result = mysql_query("SELECT `datetime` FROM `table`"); //LIMIT 1 MAYBE 4 SECURITY
$row = mysql_fetch_row($result);
$date = date_create($row[0]);
echo date_format($date, 'Y-m-d H:i:s');
//output: 2015-02-21 07:45:12
echo date_format($date, 'd/m/Y H:i:s');
//output: 21/02/2015 07:45:12
echo date_format($date, 'd/m/y');
//output: 21/02/15
echo date_format($date, 'g:i A');
//output: 7:45 PM
echo date_format($date, 'G:ia');
//output: 07:45pm
echo date_format($date, 'g:ia \o\n l jS F Y');
//output: 7:45pm on Saturday 21st February 2015
?>更多信息:http://php.net/manual/en/datetime.format.php
要比较,可以使用unix时间戳
发布于 2015-02-21 05:56:04
PHP使用系统日期/时间来更改调整时区所需的绑定:
date.timezone = "US/Central"支持的时区列表:http://php.net/manual/en/timezones.php
如果您无法访问您的php.ini,可以使用date_default_timezone_set函数对其进行更改
读:http://php.net/manual/en/function.date-default-timezone-set.php
或者您可以用.htaccess文件更改它:SetEnv TZ America/Chicago
https://stackoverflow.com/questions/28642583
复制相似问题