Каждая функция имеет оговорку. Например, в документации для strtotime указано, что:
Даты в форматах m/d/y или d-m-y неоднозначно, глядя на разделитель между различными компоненты: если разделитель является slash (/), то американский m/d/y является предполагается; тогда как если разделитель является тире (-) или точке (.), то Предполагается, что европейский формат d-m-y.
Вы также можете использовать preg_match, чтобы захватить все 3 части и создать собственную метку времени, используя mktime.
Однако, как предостережение, он преобразует каждый возможный формат строки в временную метку unix (эпоха), так как очень трудно однозначно разобрать каждую строку до даты-времени.