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