我有一个表示日期的字符串:21 marzo 2017
。我想将其转换为Unix时间戳。
echo strtotime('21 march 2017');
起作用,因为月份是英语。echo strtotime('21 maggio 2017');
]无效,因为该月份是意大利语。如何从该意大利字符串获取Unix时间戳?
您首先应该用str_replace
用英语转换您的月份:
str_replace('marzo','march',"21 marzo 2017");
然后您可以使用echo strtotime('21 march 2017');
如果需要转换其他日期,请考虑使用一个函数和一个开关盒。
从strtotime
上的PHP文档:http://php.net/strtotime
strtotime-将任何英文文本日期时间描述解析为Unix时间戳记
因此,实现要求的唯一方法是将您的月份翻译成英语。如何实现将取决于您的应用程序的上下文。
如果只需要支持一种语言,则可以为意大利语到英语月份创建一个简单的字符串替换系统。
如果您需要更强大的翻译选项,则可能需要查看类似Google Cloud Translation API的内容:https://cloud.google.com/translate/docs/