DateTime изменить строку для первого дня текущего года - PullRequest
8 голосов
/ 28 октября 2011

Я ищу модификацию строки DateTime для первого дня года (теперь 1. января 2011).Я попробовал следующее:

<?php

$time = new DateTime();

// works as expected, the first day of the current month
$time->modify('first day of this month');
echo $time->format('c')."\n";


// this doesn't work. I also tried several other ways
$time->modify('first day of january');
echo $time->format('c')."\n";

>

Я знаю, что есть другие способы получения даты, но я ищу строку DateTime-> modify (), другого решения нет.

Ответы [ 5 ]

12 голосов
/ 28 октября 2011

Вы также должны указать год, как вы можете видеть в этом примере:

"first day of January 2008"

из официального документа .

Обновление: работает на php версии> = 5.3.6

8 голосов
/ 16 декабря 2013

В версии 5.5.6

дата эха ('Ym-d', strtotime ('первый день января этого года'));

Результат: 2013-01-01

2 голосов
/ 24 декабря 2013

Чтобы получить день недели для первого года или первого дня месяца

<?php
//This is for a given month 
$m="May";
   // this id for this month
  //$m=date('F');
  //if you want the day of Sunday instead D use lower case l
  echo date('D', strtotime('first day of January this year'));
 echo "<br>". date("D", strtotime('first day of'. $m ));
?>

Результат ср. Для мая с D
Результат Среда с l

1 голос
/ 09 сентября 2016

Это работает для меня (PHP 5.6 - не тестировался на более старой версии) ... как мы говорим для DateTime object

//Get current datetime
$now = new DateTime();
$now->modify('first day of January this year');

echo $now->format('Y-m-d');
// Print (current year)-01-01
0 голосов
/ 06 ноября 2016
echo (new DateTime())->modify('first day of January this year')->format('Y-m-d');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...