Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中从字符串创建日期_Php_Date - Fatal编程技术网

在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。