Ответ 1
Посмотрите strtotime
, strptime
или DateTime
.
strtotime
Пример:
$timestamp = strtotime('1/1/2011');
Каждая функция имеет оговорку. Например, в документации для strtotime
указано, что:
Даты в форматах m/d/y или d-m-y неоднозначно, глядя на разделитель между различными компоненты: если разделитель является slash (/), то американский m/d/y является предполагается; тогда как если разделитель является тире (-) или точке (.), то Предполагается, что европейский формат d-m-y.
Вы также можете использовать preg_match
, чтобы захватить все 3 части и создать собственную метку времени, используя mktime
.
preg_match
Пример:
if ( preg_match('/^(?P<day>\d+)[-\/](?P<month>\d+)[-\/](?P<year>\d+)$/', '1/1/2011', $matches) )
{
$timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}