我正在接收带有以下格式的日期字符串的JSON数据:
'Mon Jun 30, 2014'
将此转换为日期时间的方法是什么?检查PHP函数,如果更好地使用date_parse_from_format或date_create_from_format,我会得到不安全的保护。
有什么区别,哪种更适合这项任务?
答案 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对象。