8

I am getting this message:

Invalid datetime "2017-11-07T19:46:57.118Z", expected format Y-m-d\\TH:i:sP.

When using JMS Serializer and the config:

jms_serializer:
    handlers:
        datetime:
            default_format: 'Y-m-d\\TH:i:sP'

I think that my supplied date is in the correct format, but apparently not. Is it something that is wrong with the date?

rablentain
  • 6,641
  • 13
  • 50
  • 91

2 Answers2

14

This is a tough one, I've run into it before. I was using annotations so my fix looked like:

 @Serializer\Type("DateTime<'Y-m-d\TH:i:s.uT'>")

So I'm guessing yours is going to look like:

jms_serializer:
    handlers:
        datetime:
            default_format: 'Y-m-d\TH:i:s.uT'

Or you may have to add another slash in there before "TH" if jms reads yaml files differently than annotations.

Can't remember exactly why this happens, I just remember trying a hundred different combinations until one worked. At any rate, dates and times are hard.

Ollie in PGH
  • 2,559
  • 2
  • 16
  • 19
0
jms_serializer:
handlers:
    datetime:
        default_format: 'Y-m-d\TH:i:s.uP'

Use 'Y-m-d\TH:i:s.uP' if you want to serialize/deserialize joda DateTime

(using joda DateTimeConverter on the client)