PHP5.6中的字符串到日期的转换问题

时间:2018-11-27 16:25:32

标签: php date

date('m/d/Y', strtotime('7-Jan-69'))

输出为01/07/2069,其中

date('m/d/Y', strtotime('7-Jan-75'))

这将输出显示为01/07/1975,为什么会这样,捕获的是什么?

3 个答案:

答案 0 :(得分:3)

从文档中

  

该函数期望得到一个包含英语日期格式的字符串,并将尝试将该格式解析为Unix时间戳(自1970年1月1日以来的秒数,UTC时间)

1970年之前的任何日期都应理解为1970年之后的日期

答案 1 :(得分:0)

您需要类似的东西吗?

<Label x:Name="label" Content="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=buttonProduct.Content}"/>

答案 2 :(得分:0)

要解决此问题,您可以使用DateTime代替如下所示的strtotime()

<?php
$date = $dt = new DateTime('7-Jan-75');
echo $date->format('m/d/Y');
?>

在strtotime中无法处理您的情况的原因:

  

如果以两位数字格式指定年份,则00-69之间的值将映射到2000-2069和70-99至1970-1999。   请参阅以下说明,以了解32位系统上的可能差异   (可能的日期可能会在2038-01-19 03:14:07结束)。

演示: https://3v4l.org/d8eoK