我正在使用PHP通过time()打印当前的时间戳,并且我有一个存储日期的MySQL列,我正在使用strtotime()将其转换为时间戳。但是,当我打印转换后的值时,它们之间有一个小时的差异。真正的区别在于秒数。怎么了?
发布于 2011-08-03 06:31:30
假设它们都在同一台物理服务器上运行,则可能是时区不匹配。
您可以通过在MySQL控制台中运行以下查询来检查MySQL服务器上的时区:
SELECT @@global.time_zone;并在PHP页面上运行以下脚本:
echo date_default_timezone_get();一旦你找出哪一个是错误的,你应该能够通过编辑my.cnf或php.ini来修复这个问题。
您还可以在运行时使用date_default_timezone_set()更改默认时区。
发布于 2011-08-03 06:34:49
在插入时间之前使用Set your timezone
date_default_timezone_set('America/Los_Angeles'); // Whatever your timezone is
mysql_query("INSERT
INTO table
(date)
VALUES
(" . time() . ")") or die(mysql_error());发布于 2011-08-03 11:10:38
您可能希望使用PHP strftime函数,因为它确实将本地时区考虑在内。你可能会遇到夏令时的问题。
https://stackoverflow.com/questions/6919453
复制相似问题