с 21 марта 2017 года; метка времени Unix

У меня есть эта строка, представляющая дату: «21 марта 2017» и я хочу преобразовать его в метка времени Unix.

echo strtotime («21 марта 2017»); работает, потому что месяц на английском.

echo strtotime (’21 maggio 2017 ‘); Не работает, потому что месяц на итальянском языке.

Как я могу получить метка времени Unix из этой итальянской нити?

Спасибо.

0

Решение

Сначала вы должны конвертировать месяцы на английском с str_replace:

str_replace('marzo','march',"21 marzo 2017");

Тогда вы можете использовать echo strtotime('21 march 2017');

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

0

Другие решения

Из документов PHP на strtotime: http://php.net/strtotime

strtotime — анализирует любое текстовое описание даты и времени на английском языке в метку времени Unix

Таким образом, единственный способ добиться того, что вы просите, — это перевести ваш месяц на английский. Как вы этого добьетесь, будет зависеть от контекста вашего приложения.

Если вам нужна поддержка только одного языка, вы можете создать простую систему замены строк для месяцев с итальянского на английский.

Если вам нужен более надежный вариант перевода, вы можете посмотреть что-то вроде API облачного перевода Google: https://cloud.google.com/translate/docs/

1