我对php日期操作函数的基础知识没有问题,但我时不时感到困惑,部分原因是因为我不完全了解所有规则。
现在我正在处理一个问题,即我有一个将数据保存在数据库中的函数。其中一个数据项是日期。通常,我很容易弄清楚如何将它转换为MySQL语句的正确格式。但是在这种情况下,字符串可以采用两种不同的格式之一:
m/d/Y
或
m/d/Y h:iA
我需要能够转换为'Y-m-d',我需要知道我收到的两种格式的WHICH。这有直接的方法吗?像某种:
if (is_format('m/d/Y', $date)){
...
}
感谢您的帮助。
答案 0 :(得分:2)
依次为您的两种格式使用DateTime::createFromFormat
。它在失败时返回false
,因此您将知道哪个呼叫成功,并且您将日期/时间验证作为奖励。
创建DateTime
对象后,使用format
将其转换为您的首选代表。