我正在开发一个插件,在某些时候,我向mariadbb 10.1的时间字段提交一个时间值。Maria DB的全局和会话time_zone varialbe的时区都设置为 "EuropeAthens"。
虽然在我的全局配置中,我已经将网站时区设置为 "EuropeAthens",但我的值被插入为UTC时间,提前了3小时。
date_default_timezone_get()的输出是'UTC',所以上述的错误行为是意料之中的,我没有在其他地方改变时区,所以我被卡住了。
我不想到处执行date_default_timezone_set()。我宁愿使用Joomla全局设置变量。
任何帮助是感激的。
我已经遇到了同样的问题,让服务器的时区与Joomla的时区相同,那么一切都会好起来的。
如果有人有同样的问题,这是我如何解决它。
我是用date('Y-m-d H:i:s')来填充值。通过改变为
$d = new DateTime('now', $timeZone)
解决了我的问题。其中$timeZone是一个DateTimeZone。这样我的日期就有了日期时间区的信息。
另一点是在日历字段,我必须设置filter="none "而不是默认的 "utc"。