title: Symfony4 DateTimeType as single_text widget not formatting correctly
body: <p>This problem is starting to drive me mad and I can't seem to find any correct information or documentation regarding this problem.</p>
  
  <p>I'm using symfony 4.2.3</p>
  
  <p>I have a form with a dateTimeType :</p>
  
  <pre><code> -&gt;add(
              'startDate',
              DateTimeType::class,
              [
                  'widget' =&gt; 'single_text',
                  'input' =&gt; 'datetime',
                  'html5' =&gt; false,
                  'attr' =&gt; [
                      'class' =&gt; 'combinedPickerInput',
                      'placeholder' =&gt; date('d/m/y H:i'),
                  ],
                  'format' =&gt; 'd/m/Y H:i',
                  'date_format' =&gt; 'd/m/Y H:i',
                  'label' =&gt; 'form.specialOffer.startDate',
                  'translation_domain' =&gt; 'Default',
                  'required' =&gt; false,
              ]
          )
  </code></pre>
  
  <p>When I submit the form using AJAX the $_POST shows ̀<code>startDate = '24/04/2019 06:24'</code></p>
  
  <p>However as soon as I use the getData() function on my form the value becomes a DateTime object (as it should) but it is not formatted correctly</p>
  
  <pre><code>startDate = {
      date = 2018-12-24 06:04:00.000000,
      timezone_type = 3
      timezone = "Europe/Paris"
  }
  </code></pre>
  
  <p>The field in my entity is </p>
  
  <pre><code> /**
   * @ORM\Column(type="datetime", nullable=true)
   */
  private $startDate;
  </code></pre>
  
  <p>I have also tried using the DateType instead of the DateTimeType but that doesn't change anything.</p>
  
  <pre><code>-&gt;add(
              'endDate',
              DateType::class,
              [
                  'widget' =&gt; 'single_text',
                  'html5' =&gt; false,
                  'attr' =&gt; [
                      'class' =&gt; 'combinedPickerInput',
                      'placeholder' =&gt; date('d/m/y H:i'),
                  ],
                  'format' =&gt; 'd/m/Y H:i',
                  'label' =&gt; 'form.specialOffer.endDate',
                  'translation_domain' =&gt; 'Default',
                  'required' =&gt; false,
              ]
          )
  </code></pre>
  
  <p>The result is exactly the same as with the DateTimeType</p>
  
  <p>When looking at the DateTimeType class something seems a bit off.
  when setting the date format the code is as follows</p>
  
  <pre><code>$dateFormat = \is_int($options['date_format']) ? $options['date_format'] : self::DEFAULT_DATE_FORMAT;
  </code></pre>
  
  <p>which to me makes it impossible to use a date_format that is not an int. However the validation and error message just below seem to indicate that it should in fact be possible to pass a string for a custom date format</p>
  
  <pre><code> if (!\in_array($dateFormat, self::$acceptedFormats, true)) {
          throw new InvalidOptionsException('The "date_format" option must be one of the IntlDateFormatter constants (FULL, LONG, MEDIUM, SHORT) or a string representing a custom format.');
      }
  </code></pre>
  
  <p>I am quite lost with this any help would be greatly appreciated</p>