Symfony REST包:向QueryParam要求添加日期

时间:2017-03-03 12:31:09

标签: php regex symfony datetime

如何在Symfony的REST包的@QueryParam注释中需要有效的DateTime字符串?

我现在有这个: @QueryParam(name="createdFrom", requirements="2016-05-18T12:00:00+0000")

我想使用代表valid date time格式的正则表达式。

2 个答案:

答案 0 :(得分:0)

你可以这样做:

@QueryParam(name="createdFrom", nullable=false, requirements="(19|20)[0-9][0-9]-(0[0-9]|1[0-2])-(0[1-9]|([12][0-9]|3[01]))T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]?[+|-][0-9][0-9][0-9][0-9]") 

应该可以正常工作。

以上正则表达式适用于: 2016-05-18T12:00:00 + 0000

您可以使用此网站测试正则表达式:http://www.regexpal.com/1966

在此网站中有一些正则表达式的样本:http://www.regexlib.com/Search.aspx?k=datetime&c=0&m=0&ps=20&p=2

最好的问候

答案 1 :(得分:0)

其他:

/**
 * @Route("/blog/archive/{start}/{end}")
 * @ParamConverter("start", options={"format": "Y-m-d"})
 * @ParamConverter("end", options={"format": "Y-m-d"})
 */
public function archiveAction(\DateTime $start, \DateTime $end)