如何将“21 marzo 2017”转换为 Unix 时间戳?

How to convert "21 marzo 2017" to Unix timestamp?

我有一个表示日期的字符串:21 marzo 2017。我想将其转换为 Unix 时间戳。

如何从该意大利字符串中获取 Unix 时间戳?

来自 strtotime 上的 PHP 文档:http://php.net/strtotime

strtotime — Parse about any English textual datetime description into a Unix timestamp

因此,实现您的要求的唯一方法是将您的月份翻译成英语。如何实现将取决于应用程序的上下文。

如果您只需要支持一种语言,您或许可以为意大利语到英语月份创建一个简单的字符串替换系统。

如果您需要更强大的翻译选项,您可能需要查看类似 Google Cloud Translation API 的内容:https://cloud.google.com/translate/docs/

您应该首先将您的月份转换为英语 str_replace:

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

那你可以用echo strtotime('21 march 2017');

如果必须转换其他日期,请考虑使用函数和 switch-case。