我正在尝试使用strtotime进行日期转换为:
date('Y-m-d', strtotime("10-12-2072"));
但它没有正常工作,因为我在php.net上看到Unix时间戳是从1970年开始的,它将在2038年结束然后如何使用我的上述代码? 有什么建议吗?
答案 0 :(得分:1)
使用DateTime()
。它会给你2038年以上。一旦获得日期和时间,您可以将其分开:
$datetime = "2012-10-19 18:19:56";
$Date = explode(" ",$datetime);
$date = $Date[0];
$time = $Date[1];
现在你只能拥有日期。
祝你好运!
答案 1 :(得分:0)
从DataTime班级,在DateTime班级中使用date_parse / date_parse_from_format。以下是样本片段。
<?php
$date = "6.1.2009 13:00+01:00";
print_r(date_parse_from_format("j.n.Y H:iP", $date));
?>
答案 2 :(得分:0)
将字符串解析为DateTime()
构造函数,然后相应地格式化。
这里不需要任何额外的解析逻辑。
如果仍然无法正常工作,请检查您是否正在运行64位系统。
$dateTime = new DateTime('10-12-2072');
$datetime->format('Y-m-d');