Если у вас уже есть эти даты под рукой, у вас может быть много работы впереди, но если вам нужно собрать ее, вы можете легко форсировать стандарт через формы
Month : [ ] / Day : [ ] / Year : [ ]
, а затем выпостроить вашу дату через mktime / date в PHP
Но если у вас уже есть данные, вам, возможно, придется создать некоторые правила для пометки странных данных, так как strtotime () будет работать в зависимости от вашей локали (французский и английский)даты не пишутся одинаково, например: французская дата дд / мм / гггг и английская мм / дд / гггг).
Вам необходимо определить формат, который вы хотите использовать, и отметить все данные, которые не 'не подходит для ручной доработки
, т. е .: 24.12.2010 (идеально подходит для английского формата даты, но это будет 12.12.2011 на французском языке (обратите внимание на изменение года)).
Редактировать:
Вот начало просмотра ваших дат перед их преобразованием:
<?php
$dates = array('12-12-2010', '24-12-2010','12-24-2010','12-24-10','24-12-10',
'12-12-10','12/12/2010','24/12/2010','12/24/2010', '12/24/10',
'24/12/10', '12/12/10','2010-12-12', '2010-24-12','2010-12-24',
'10-12-24','10-24-12','10-12-12','2010/12/12','2010/24/12',
'2010/12/24', '10/12/24','10/24/12','10/12/12','11-11-2011');
$regEx = array('YYYY-MM-DD' => '/^(19|20)\d\d[- \/.](0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])$/',
'MM-DD-YYYY' => '/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]((19|20)\d\d)$/',
'DD-MM-YYYY' => '/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.](\d\d)$/',
'YY-MM-DD' => '/^\d\d[- \/.](0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])$/',
'MM-DD-YY' => '/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.](\d\d)$/',
'YY-DD-MM' => '/^\d\d[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])$/',
'No Match' => '//' );
echo '<table style="table-layout:fixed;width:400px">';
echo '<tr>'.'<th>'.'Date'.'</th>'.'<th>'.'PATTERN'.'</th>'.'</tr>';
foreach($dates as $date){
echo '<tr>';
echo '<td>';
echo $date . ' ';
echo '</td>'.'<td>';
foreach($regEx as $name=>$pattern)
if(preg_match($pattern, $date)){
echo $name;
break;
}
echo '</td>';
echo '</tr>';
} echo '';?>
, который даст вам стол, подобный
+-------------+-------------+
| Date | PATTERN |
+-------------+-------------+
| 12-12-2010 | MM-DD-YYYY |
| 24-12-2010 | No Match |
| 12-24-2010 | MM-DD-YYYY |
| 12-24-10 | MM-DD-YY |
+-------------+-------------+
. Из этой корзины будет возможность создать подстроку, чтобы захватить нужные части