日期字符串可能是两种格式之一;我该怎么办呢?

时间:2014-03-10 23:39:56

标签: php date

我对php日期操作函数的基础知识没有问题,但我时不时感到困惑,部分原因是因为我不完全了解所有规则。

现在我正在处理一个问题,即我有一个将数据保存在数据库中的函数。其中一个数据项是日期。通常,我很容易弄清楚如何将它转换为MySQL语句的正确格式。但是在这种情况下,字符串可以采用两种不同的格式之一:

m/d/Y

m/d/Y h:iA

我需要能够转换为'Y-m-d',我需要知道我收到的两种格式的WHICH。这有直接的方法吗?像某种:

if (is_format('m/d/Y', $date)){
    ...
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

依次为您的两种格式使用DateTime::createFromFormat。它在失败时返回false,因此您将知道哪个呼叫成功,并且您将日期/时间验证作为奖励。

创建DateTime对象后,使用format将其转换为您的首选代表。