首页 > 解决方案 > JMS 序列化程序中 DateTime 的默认反序列化格式

问题描述

我看到default_formatdefault_timezone配置用于反序列化日期时间值,但我没有看到用于指定替代格式列表的配置。我希望我的 API 接受没有时区的时间戳(如果未指定,则假设为 UTC)和带或不带小数秒(微秒)的时间戳。下面的注释示例完成了这一点,但我宁愿不必将其复制/粘贴到我使用的无数输入类型中。

/**
 * @JMS\Type("DateTime<'Y-m-d\TH:i:s.uP', '+00:00', ['Y-m-d\TH:i:sP', 'Y-m-d\TH:i:s.uP', 'Y-m-d\TH:i:s', 'Y-m-d\TH:i:s.u']>"
 */
protected \DateTimeInterface $timestamp;

有没有人有一个示例覆盖来完成这个?default_deserialize_format也许是添加对新配置的支持的功能请求?

标签: jmsserializerbundlejms-serializer

解决方案


典型的......最后分解,发布一个问题,一个小时后弄清楚。我一直在寻找优先级设置高的处理程序,因此它们会覆盖内置处理程序。


推荐阅读