如何日期字符串转换为时间间隔在PHP
问题描述:
我如何转换预设日期字符串的时间间隔?日期字符串格式为d/m/Y g:i:s A
?如何日期字符串转换为时间间隔在PHP
我尝试以下,但它没有返回值:
$date = ... time format set above ....;
echo strtotime($date); //returns nothing.
采样日期 - 24/08/2011下午11时47分09秒
答
strtotime
不会得到你想要的结果,因为它假定m/d/Y
的日期,见Date Formats。
您可以尝试replace的/
“的日期s的-
的,这将导致接受的格式,但感觉不对/越野车,尽管它应该工作,如果你的格式是固定的:
$new_date = str_replace("/", "-", $string_date);
$timestamp = strtotime($new_date);
答
如果你在PHP 5.3或更新版本,你可以使用DateTime::createFromFormat
对于PHP 5.2,你可以重新格式化的东西strtotime()
可以处理这样的:
$date = '24/08/2011 11:47:09 PM';
$d = substr($date,6,4).substr($date,3,2).substr($date,0,2).substr($date,10);
$ts = strtotime($d); //1314229629
答
在第m
日期/ d/y或DMY格式通过查看在各个组件之间的分离器消除歧义:如果分离器是斜线(/),则美国米/ d假定/ Y;而如果分隔符是破折号( - )或点(。),则假定欧洲的d-m-y格式。
为了避免潜在的不确定性,最好使用ISO 8601(YYYY-MM-DD)日期或日期时间:: createFromFormat(时)成为可能。
我们展示的样品日期字符串。 – HyderA
检查编辑的问题! –
切换到Y/M/d似乎工作 - '回声的strtotime( '2011/08/24上午11时47分09秒');' – HyderA