Создать дату из строки в PHP - PullRequest
0 голосов
/ 11 февраля 2011

У меня есть дата в следующем формате:

2011-15

Первая часть - это четырехзначный год, а вторая - день года с 1 января.

В соответствии с документами php.net я должен быть в состоянии сделать что-то вроде

$date = date_create_from_format('Y-z', '2011-15');
echo $date->format('Y-m-d');

и получите возвращенную дату в более вменяемом значении.

Это, однако, не работает вообще. Это заставляет php сбросить соединение.

Есть ли лучший способ превратить "день года" в более полезное значение (т. Е. Месяц и день)

Спасибо

1 Ответ

2 голосов
/ 11 февраля 2011

Для достижения вашей цели в старых версиях 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...