无论如何,CURTIME提前2小时返回

时间:2013-08-27 17:02:01

标签: php mysql

我有一个从php文件在linux上运行的sql脚本,它总是在我们提前2小时返回时间。 linux框在本地运行,当我在shell中执行“日期”时,它会返回正确的时间。任何想法为什么我提前2小时返回CURTIME?

即使我跑

echo date('Y-m-d H:i:s'); 
echo date('Y-m-d H:i:s', mktime());  

echo exec('date');

所有回应正确的时间对我来说是

2013-08-27 12:44:52

2013-08-27 12:44:52

2013年8月27日星期二12:44:52

但无论我做什么,它都会在14:44:52插入到mysql db中

1 个答案:

答案 0 :(得分:1)

来自Mysql:

  

该值以当前时区表示。

如果您希望它显示在您的时区中,您需要将其转换为您想要执行此类Documentation的操作:

select convert_tz(now(), @@global.time_zone, '-5:00'); 
select date(convert_tz(now(), @@global.time_zone, '-5:00')); 
select time(convert_tz(now(), @@global.time_zone, '-5:00'));

# The second value gets the time of the server so it knows what to convert from.

# The third value is your timezone you want to display
# It can either be an offset, or name (if table is installed): 
# 'UTC', 'PST', 'MET', and so on