在PHP中从字符串创建日期
我的日期格式如下:在PHP中从字符串创建日期,php,date,Php,Date,我的日期格式如下: 2011-15 第一件是4位数的年份,第二件是自1月1日起的一年中的某一天 根据php.net文档,我应该能够做如下操作 $date = date_create_from_format('Y-z', '2011-15'); echo $date->format('Y-m-d'); 并以更合理的值返回日期 然而,这根本不起作用。它会导致php重置连接 是否有更好的方法将“一年中的某一天”转换为更可用的值(即月和日) 感谢要在旧版本的php中实现您的目标,您可以使用以下
2011-15
第一件是4位数的年份,第二件是自1月1日起的一年中的某一天
根据php.net文档,我应该能够做如下操作
$date = date_create_from_format('Y-z', '2011-15');
echo $date->format('Y-m-d');
并以更合理的值返回日期
然而,这根本不起作用。它会导致php重置连接
是否有更好的方法将“一年中的某一天”转换为更可用的值(即月和日)
感谢要在旧版本的php中实现您的目标,您可以使用以下内容:
<?php
$date_string = '2011-15';
$date_array = preg_split('/-/',$date_string);
$start_of_year = strtotime("1 January {$date_array[0]}");
$date = strtotime("+".($date_array[1]-1)." days", $start_of_year);
echo "$date \n";
echo date("Y-m-d",$date);
?>
哪些产出:
1295074800
2011-01-15对我来说很有用。。。您是否安装了DateTime类?它需要(PHP5>=5.3.0),您使用的是什么版本?重置连接是什么意思?你是通过一个网页来做这件事的,并且做那些日期的事情会使PHP崩溃?是的,我已经安装了DateTime类。我以为我用的是5.3,我得跳上那台机器检查一下。是的,这些简单的语句将导致我的浏览器给我一个“连接被重置”错误。我的错误报告一直在启动,所以其他任何东西都会打印到屏幕上。我来试一试。我认为将在其上部署的生产服务器是PHPVersion5.2。