request->has('form')){ $oForm = $request->request->all()['form']; $oTimezone = $oForm['timezone']; $sDateTimeValue = $oForm['date']; $oTime = new \DateTime($sDateTimeValue, new DateTimeZone($oTimezone)); } $oParis = clone $oTime; $oParis->setTimezone(new DateTimeZone('Europe/Paris')); $sParisValue = $oParis->format('Y-m-d\\ H:i:s'); $aData = [ 'date' => $oTime, 'paris' => $sParisValue, 'timestamp' => $oTime->getTimestamp(), 'timezone' => $oTimezone ]; $oForm = $this->createFormBuilder($aData) ->add('date', DateTimeType::class, [ 'label' => 'Time', 'model_timezone' => 'Europe/Paris', 'view_timezone' => $oTimezone, 'html5' => true, 'widget' => 'single_text', ]) ->add('timezone', TimezoneType::class, [ 'label' => 'Timezone', ]) ->add('paris', TextType::class, [ 'label' => 'Time in Paris', 'disabled' => true ]) ->add('timestamp', TextType::class, [ 'label' => 'Timestamp', 'disabled' => true ]) ->add('save', SubmitType::class, ['label' => 'Create']) ->getForm(); $oForm->handleRequest($request); // submitted and valid if ($oForm->isSubmitted() && $oForm->isValid()) { } // return object edition form return $this->render('DI/form/form_page.html.twig', [ 'form' => $oForm, ]); } }