Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP3.2.2。以UTC格式保存到数据库中的日期字符串_Php_Datetime_Cakephp 3.x - Fatal编程技术网

CakePHP3.2.2。以UTC格式保存到数据库中的日期字符串

CakePHP3.2.2。以UTC格式保存到数据库中的日期字符串,php,datetime,cakephp-3.x,Php,Datetime,Cakephp 3.x,我正在尝试将字符串“1989-10-10”作为日期保存到数据库中。我当地的时区是欧洲/莫斯科 首先,我在bootstrap.php中添加了时区 date_default_timezone_set('Europe/Moscow'); 然后在控制器中 $model = TableRegistry::get('model'); $entity = $model::newEntity(); $entity->birthday = '1989-10-10'; $model->save($e

我正在尝试将字符串“1989-10-10”作为日期保存到数据库中。我当地的时区是欧洲/莫斯科

首先,我在bootstrap.php中添加了时区

date_default_timezone_set('Europe/Moscow');
然后在控制器中

$model = TableRegistry::get('model');
$entity = $model::newEntity(); 
$entity->birthday = '1989-10-10';
$model->save($entity);
在数据库中,这个日期看起来像1989-10-09。
不知怎的,cake把我当前的时区理解为莫斯科,并尝试将其转换为UTC。这是静态日期,不应转换。

CakePhp创建了一个新版本3.2.3,该错误似乎已在其中得到解决

Date::parseDate() now correctly handles timezones. (@lorenzo)

这里有更多信息:

CakePhp已经创建了一个新版本3.2.3,这个bug似乎在那里得到了解决

Date::parseDate() now correctly handles timezones. (@lorenzo)

这里有更多信息:

我看日期没有改变。你用哪种版本的蛋糕?你设置了和我相同的时区了吗?我没有测试任何东西,我只是指你在这里显示的日期,它们完全相同。对于cake(3.1.7)的早期版本,效果很好。更新到3.2.2之后,问题就出现了。如果我输入一个datetime字符串,它也可以正常工作,问题只是日期。[code]object(Cake\I18n\FrozenDate){'time'=>'1987-10-09T00:00:00+00:00','timezone'=>'UTC','fixedNowTime'=>false}日期对我来说似乎没有改变。你使用哪种版本的Cake?你设置了和我相同的时区了吗?我没有测试任何东西,我只是指你在这里显示的日期,它们完全相同。对于cake(3.1.7)的早期版本,效果很好。更新到3.2.2之后,问题就出现了。如果我输入一个datetime字符串,它也可以正常工作,问题只是日期。[code]对象(Cake\I18n\FrozenDate){'time'=>'1987-10-09T00:00:00+00:00','timezone'=>'UTC','fixedNowTime'=>false}