У меня есть эта строка, представляющая дату: «21 марта 2017» и я хочу преобразовать его в метка времени Unix.
echo strtotime («21 марта 2017»); работает, потому что месяц на английском.
echo strtotime (’21 maggio 2017 ‘); Не работает, потому что месяц на итальянском языке.
Как я могу получить метка времени Unix из этой итальянской нити?
Спасибо.
Сначала вы должны конвертировать месяцы на английском с str_replace
:
str_replace('marzo','march',"21 marzo 2017");
Тогда вы можете использовать echo strtotime('21 march 2017');
Если вам нужно преобразовать другую дату, подумайте об использовании функции и переключателя.
Из документов PHP на strtotime
: http://php.net/strtotime
strtotime — анализирует любое текстовое описание даты и времени на английском языке в метку времени Unix
Таким образом, единственный способ добиться того, что вы просите, — это перевести ваш месяц на английский. Как вы этого добьетесь, будет зависеть от контекста вашего приложения.
Если вам нужна поддержка только одного языка, вы можете создать простую систему замены строк для месяцев с итальянского на английский.
Если вам нужен более надежный вариант перевода, вы можете посмотреть что-то вроде API облачного перевода Google: https://cloud.google.com/translate/docs/