Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP和MySQL中的当前时间戳_Php_Mysql_Timestamp - Fatal编程技术网

PHP和MySQL中的当前时间戳

PHP和MySQL中的当前时间戳,php,mysql,timestamp,Php,Mysql,Timestamp,我使用PHP使用time()打印当前时间戳,我有一个MySQL列存储日期,我使用strotime()将其转换为时间戳。但是,当我打印转换后的值时,它们之间有一个小时的差异。真正的区别是秒。怎么了?假设它们都运行在同一台物理服务器上,可能是时区不匹配 您可以通过在MySQL控制台中运行以下查询来检查MySQL服务器上的时区: SELECT @@global.time_zone; 并在PHP页面上运行以下脚本: echo date_default_timezone_get(); 一旦您找出哪一个

我使用PHP使用
time()
打印当前时间戳,我有一个MySQL列存储日期,我使用
strotime()
将其转换为时间戳。但是,当我打印转换后的值时,它们之间有一个小时的差异。真正的区别是秒。怎么了?

假设它们都运行在同一台物理服务器上,可能是时区不匹配

您可以通过在MySQL控制台中运行以下查询来检查MySQL服务器上的时区:

SELECT @@global.time_zone;
并在PHP页面上运行以下脚本:

echo date_default_timezone_get();
一旦您找出哪一个是错误的,您应该能够通过编辑my.cnf或php.ini来修复这个问题


您还可以使用()更改运行时的默认时区。

假设它们都运行在同一台物理服务器上,则可能是时区不匹配

您可以通过在MySQL控制台中运行以下查询来检查MySQL服务器上的时区:

SELECT @@global.time_zone;
并在PHP页面上运行以下脚本:

echo date_default_timezone_get();
一旦您找出哪一个是错误的,您应该能够通过编辑my.cnf或php.ini来修复这个问题

在插入时间之前,您还可以在运行时使用()更改默认时区。

date_default_timezone_set('America/Los_Angeles'); // Whatever your timezone is

mysql_query("INSERT
            INTO table
            (date)
            VALUES
            (" . time() . ")") or die(mysql_error());
在插入时间之前

date_default_timezone_set('America/Los_Angeles'); // Whatever your timezone is

mysql_query("INSERT
            INTO table
            (date)
            VALUES
            (" . time() . ")") or die(mysql_error());

您可能希望使用PHP函数,因为它确实考虑了本地时区。您可能遇到了夏令时问题。

您可能希望使用PHP函数,因为它确实考虑了本地时区。您可能遇到夏令时问题。

使用MySQL函数获取当前的纪元时间:

INSERT INTO mytable SET tstamp = UNIX_TIMESTAMP();
使用MySQL函数获取当前历元时间:

INSERT INTO mytable SET tstamp = UNIX_TIMESTAMP();

PHP中的时区设置是什么,MySQL中的时区设置是什么?这就是你的答案。打赌你正在运行命令的服务器(或mysql配置)有一个小时的休息时间。@Wrikken:如果你把它作为一个答案发布,你至少可以得到10分。你在PHP中的时区设置是什么,在mysql中的时区设置是什么?这就是你的答案。打赌你正在运行命令的服务器(或mysql配置)有一个小时的休息时间。@Wrikken:如果你把它作为一个答案发布,你至少可以得到10分。