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

问题描述 投票:0回答:2

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

  • [echo strtotime('21 march 2017');起作用,因为月份是英语。
  • [echo strtotime('21 maggio 2017');]无效,因为该月份是意大利语。

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

php unix-timestamp data-conversion strtotime
2个回答
0
投票

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

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

然后您可以使用echo strtotime('21 march 2017');

如果需要转换其他日期,请考虑使用一个函数和一个开关盒。


1
投票

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

strtotime-将任何英文文本日期时间描述解析为Unix时间戳记

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.