PHP的字符串到时间< = 5.1.6(DateTime :: CreateFromFormat不可用)?

时间:2011-07-15 13:45:17

标签: php strtotime

我只需要比较格式为 d.m.y 的字符串值所代表的日期(例如今天为15.07.11)。

strtotime不幸地给了我错误的结果(可能是因为格式)。我找到了问题的答案(PHP strtotime incorrect conversion)但我的PHP版本中没有DateTime::CreateFromFormat。我找不到strfptime,但认为答案的主题意味着strptimestrptime的结果是一个数组。我很惊讶我可以比较数组,但比较结果无效。

将给定字符串格式的日期与PHP< = 5.1.6进行比较的最简单方法是什么?

1 个答案:

答案 0 :(得分:1)

您始终可以将strptime的结果传递给mktime并获取可用的Unix时间戳,您可以将其与DateTime个对象进行比较或提供。

<?php
    $d = strptime('15.07.11', '%d.%m.%y');
    $timestamp = mktime($d['tm_hour'], $d['tm_min'], $d['tm_sec'], $d['tm_mon'], $d['tm_mday'], 1900 + $d['tm_year']);
    echo date("j F Y", $timestamp);
?>

唯一要注意的是,strptime将年份作为自1900年以来的年数,并且mk_time仅需要一年的数量,因此我添加了1900年。