问题
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?
回答1:
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.
来源:https://stackoverflow.com/questions/47160808/getting-missmatch-in-datetime-format-using-jms-serializer-and-iso8601