私はSymfony 2.7でプロジェクトを進めています。私たちは、次の問題だDBに保存されている時間は、選択した時間の2時間前です。
:サムスの場所で
を、利用者は、彼らが基礎のDateTimePickerでそれを選択することができます などイベントやリマインダーの日付と時刻を選択する必要があります。
[タイトル=> Vermifuge、日付=> 05.10.2016 16:00、ペット=> 22、説明=>、更新可能=> 1、遅延=> 3ヶ月、 nextDate => 2017年5月1日16:00 => 1活性、_token => QTvz3ykjcngQh2Y5SvW5KWdO2D35Ue8m8CfFtZBQxDc](C/C symfonyのツールバーから)
しかし、コントローラに、私は値をダンプ:
$this->setup($request);
$entity = $this->findOrThrowNotFound($id);
$this->denyAccessUnlessGranted('edit', $entity->getPet(), 'Unauthorized access!');
$editForm = $this->createCreateForm($entity);
$editForm->handleRequest($request);
dump($editForm['date']);
dump($editForm['date']->getData());
最初のダンプは:
Form {#2369 ▼
-config: FormBuilder {#2370 ▶}
-parent: Form {#2363 ▶}
-children: OrderedHashMap {#2371 ▶}
-errors: []
-submitted: true
-clickedButton: null
-modelData: DateTime {#2336 ▶}
-normData: DateTime {#2336 ▶}
-viewData: "05.10.2016 16:00"
-extraData: []
-transformationFailure: null
-defaultDataSet: true
-lockSetData: false
}
2つ目:
DateTime {#4733 ▼
+"date": "2016-10-05 14:00:00.000000"
+"timezone_type": 1
+"timezone": "+00:00"
}
だから、一瞬時間変更で。私のphpinfoで
()私が持っている:
日付/時刻のサポートは
"オルソン" タイムゾーンデータベースを有効にバージョン2016.3
タイムゾーンデータベース内部
デフォルトのタイムゾーンヨーロッパ/チューリッヒ
ご協力ありがとうございました
こんにちは、 まず、おかげです。 私の最初の考えは、データベースに何か問題があったが、SELECT now()が '2016-10-05 09:52:00'を返し、PHPコードが '2016-10-05 09:52:25 'と' 1475653945 'は明らかに同じものを構成しています(そして、右) –
チューリッヒ - > UTC + 01:00というタイムゾーンのものでなければなりません。 php.iniの横に、これをsymfonyのデフォルトタイムゾーン(google it)として設定できます。 おそらくあなたはどこにTimezoneTypeフィールドを隠しましたか? [http://symfony.com/doc/current/reference/forms/types/timezone.html] –
php.iniにはタイムゾーンは設定されていませんが、ダンプを作成すると(date_default_timezone_get());私は正しい "ヨーロッパ/チューリッヒ"を得る。 私は、コードのどこかに、設定されているが見つからないTimeZoneがあることに同意します:( 私は掘り続けます –