strtotime()不承认德国的日期缩写(dd.mm.YY)

时间:2016-02-11 15:41:04

标签: php date timestamp

我有很多带有多个时间戳的数据,我只是认识到有些是在“dd.mm.YYYY”中,它与date("Y-m-d", strtotime($input));非常吻合,但有些在“dd.mm.YY”中,但这并不是工作了 - 它总是返回当前日期。

我的问题是我的数据太大,无法通过编辑手动修复此问题。有没有办法让YYYY-mm-dd退出mm.dd.YY

2 个答案:

答案 0 :(得分:1)

你去......

$date = "20.02.71"; // sample date... (common German format)
$date = DateTime::createFromFormat('d.m.y', $date);
echo $date->format('Y-m-d');

将导致:

  

1971年2月20日

创建一个DateTime对象,然后将其格式化为您想要的任何内容......

答案 1 :(得分:0)

您可以将.替换为-,您可以执行以下操作:

$date = str_replace(".", "-", "mm.dd.YY")

这将返回

mm-dd-YY

您可以使用date_parse_from_format将任何甲酸转化为您指定的甲酸盐。

date_parse_from_format("y-m-d", $date);

它返回一个包含月,年等非常有用信息的数组。