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