2016-08-22 45 views
1

说我给了一个像“2016年8月”这样的日期有没有一种方法在PHP中简单地找到一个日期没有给出的日期?php检测日期给定是否有日期值

我可以找到的所有PHP函数都自动设置为“1”,如果没有给定日期的那天。

我想要做的是除掉不给我一天的日期。

它们不是由我提供的,可以混合使用英国或美国的格式。

+0

,你可以检查一些在字符串的开始? – 2016-08-22 21:37:43

+1

你期望有其他日期格式吗?如果是这样,哪些?你可以控制用户输入吗?你如何获得价值?请澄清你的问题,以便我们可以帮助你。 –

+0

'我可以找到的所有PHP函数都会自动设置为“1”,如果没有给定日期,则只需使用'DateTime',然后手动设置日期。如果没有人给你,你期望什么日子?你可以将它加载到'DateTime'中并忽略日期,无论如何你可以控制任何你输出的格式 – Ghost

回答

3

您可以尝试使用DateTime::createFromFormat()

$notValid = DateTime::createFromFormat('F Y', '21 January 2016'); // false 
$valid = DateTime::createFromFormat('F Y', 'January 2016'); // DateTime object 
+0

不需要'createFromFormat',即使构造函数也能理解'2016年8月' – Ghost

+2

@Ghost确实,你是正确,但这个问题的作者想要验证给定的日期是否有一天给出。 “2016年8月”和“2016年8月21日”都将返回true,这不是他所需要的。 – Skysplit

+0

这看起来确实很不错。我建议你将它变成一个函数,它接受一个日期字符串并返回天数,如果存在的话,否则返回null。 – trincot

相关问题