PHP将具有周和短月份名称的字符串转换为日期

时间:2014-02-05 20:17:07

标签: php date

我正在接收带有以下格式的日期字符串的JSON数据:

'Mon Jun 30, 2014'

将此转换为日期时间的方法是什么?检查PHP函数,如果更好地使用date_parse_from_formatdate_create_from_format,我会得到不安全的保护。

有什么区别,哪种更适合这项任务?

3 个答案:

答案 0 :(得分:3)

DateTime::createFromFormat在这里运作良好。它允许您轻松地格式化字符串,并在适当时考虑时区,并且可以轻松地用于比较,而无需先转换为时间戳。

$date = DateTime::createFromFormat('D M d, Y', 'Mon Jun 30, 2014');
echo $date->format('Y-m-d');

答案 1 :(得分:1)

您可以使用strtotime()转换为unix时间戳。我不知道你所说的“日期时间”是什么意思,但如果你的意思是类似于MySQL,那么你用date()格式化时间戳(你可以包括时间,但它不存在于原始字符串中):

echo date('Y-m-d', strtotime($string));

答案 2 :(得分:1)

两者中的第二个可能更适合你---

第一个只将日期分解为一个数组,因此您可以单独使用这些部分。

但第二个返回您正在寻找的DateTime对象。