2015-07-13 51 views
1

我与正在做一个HTTP GET请求到我的服务器web服务工作,并发送时间戳值如下:PHP转换字符串转换成时间戳

timeStamp=Mon+Jul+13+10%3A52%3A00+EST+2015 

然后我需要隐蔽成时间戳这我可以插入到我的数据库中,但我无法提取有效的值。我使用的strtotime尝试,例如:

echo(strtotime('Mon+Jul+13+10%3A52%3A00+EST+2015')); 

但这并不返回任何东西。本示例中的时间戳是2015年7月13日10:52:00。

寻找解决方案将此字符串转换为有效的时间戳。

+5

开始用urldecode() – 2015-07-13 01:15:13

+0

这是一个相当奇怪的时间格式。 – spenibus

回答

2

这应该适合你。您收到了一个urlencoded字符串,所以您需要首先将其反转。

FIDDLE

<?php 
$timeStamp="Mon+Jul+13+10%3A52%3A00+EST+2015"; 
$timeStamp=urldecode($timeStamp); 
echo strtotime($timeStamp); 
?> 
0

你只需要更换的“+”和“%3A”与“”(空格)和“:”

$good = array(' ', ':'); 
$bad = array ('+', '%3A'); 

echo str_replace($bad, $good, 'Mon+Jul+13+10%3A52%3A00+EST+2015'); 

或者,如果你想要的数值时,改变最后一行此:

echo strtotime(str_replace($bad, $good, 'Mon+Jul+13+10%3A52%3A00+EST+2015'));