我有一个从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中
答案 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