来自" 21 marzo 2017"到Unix时间戳

时间:2017-09-08 22:01:13

标签: php unix unix-timestamp strtotime data-conversion

我有一个代表日期的字符串:" 21 marzo 2017" ,我想将其转换为 unix时间戳

echo strtotime(' 2017年3月21日'); 有效,因为月份是英文。

echo strtotime(' 21 maggio 2017'); 没有用,因为月份是意大利语。

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

谢谢。

2 个答案:

答案 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');

如果您必须转换其他日期,请考虑使用函数和开关案例。