2015-03-23 3 views
0

Кажется, что я просто что-то упустил. Я пытаюсь преобразовать это во время(), но я не получаю часы и минуты.PHP Преобразование во времени() «15:30 ср. 25 марта», но не может получить часы минут

<?php 
$ss = '3:30 pm Wed 25 Mar'; 
echo $ss; 
echo '<hr />'; 
echo strtotime($ss); // 1427212800 

Но 1427212800 переводится в среду, 25 марта 2015, 00:00:00 (GMT +8)

Как я могу получить часы и минуты? Спасибо

+0

Можете ли вы изменить формат '$ ss'? Я думаю, что это 'Wed' нарушает его. '15:30 25 марта' должен работать. –

ответ

1

Вместо того, чтобы угадывать PHP, в каком формате вы пытаетесь его прокормить, используйте: DateTime::createFromFormat(). Это дает Вам полный на DateTime объекта, что очень удобно для других вещей ... и вы получите метку времени с ней, а также:

echo DateTime::createFromFormat('g:i a D j M', '3:30 pm Wed 25 Mar') 
     ->getTimeStamp(); // 1427315400 

С этим, вы теряете способность угадывать в различных форматах даты , но это будет отлично работать с форматом, который вы дали.

+0

Ошибка: Class DateTime не найден. Нужно ли загружать и включать класс DateTime? Спасибо – marknt15

+0

Какую версию PHP вы используете? DateTime требует 5.2 или выше ... если вы используете более старую версию, пожалуйста, обновите ее, поскольку они были ненадолго сохранены. – iansltx

+1

Спасибо @iansltx, это сработало. Я использую laravel 5 и просто использовал DateTime; над объявлением класса контроллера, и он сработал. – marknt15

 Смежные вопросы

  • Нет связанных вопросов^_^