2015-07-13 3 views
1

Я работаю с веб-сервиса, который делает запрос GET HTTP к серверу и посылает значение временной метки следующим образом:PHP Преобразование строки в метку времени

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

я тогда нужно тайному это в метку времени Я могу вставлять в свою базу данных, но мне трудно получить правильное значение. Я попытался использовать strtotime, например:

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

но это ничего не возвращает. Временная метка в этом примере - 13 июля 2015 года в 10:52:00.

Ищет решение для преобразования этой строки в допустимую временную метку.

+5

начать с urldecode() –

+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')); 
Смежные вопросы