Разделить строку с даты

Я хочу разделить строку, используя PHP, чтобы получить индивидуальную информацию о дате.

Например:

$date = '08/05/2010'; 

создаст переменные

 $month = '08'; $day = '05'; $year = '2010'; 

Спасибо.

Использовать explode :

 $date = '08/05/2010'; list($month, $day, $year) = explode('/', $date); 

если это ваш пример, вы можете взорвать его в массив.

$ array = explode ('/', $ date);

list($month, $day, $year) = explode('/', $date);

Предполагая, что это всегда в таком формате, вы хотите explode :

 <?php $date = '08/05/2010'; $arr = explode("/", $date); list($month, $day, $year) = $arr; // $month = 08, $day = 05, $year = 2010. ?> 

Ответы, выложенные выше, сделали бы трюк. Вероятно, вы также захотите проверить дату, соответствующую ожидаемому формату, прежде чем запускать свою функцию. Функция checkdate будет полезна для этого, или этот фрагмент является автономной реализацией.

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

Если вы получаете исходную дату с пользовательского ввода, вы можете захотеть убедиться, что получаете правильный формат, прежде чем отделять его (используя список или взорваться, как показано ранее).

Я вижу два варианта достоверности, если он исходит от пользователя: сначала нужно только выбрать дату, а не вводить ее свободно. Во-вторых, убедитесь, что вы получаете его в формате mm / dd / yyyy, который вы ожидаете. Перед разделением вы можете выполнить регулярное выражение . Регулярное выражение может быть чем-то вроде / \ d {2} / \ d {2} / \ d {4} /

В любом случае, на самом деле не нужно, если вы уверены в своем источнике, но всегда важно подумать о том, откуда ваши данные и насколько они чисты.