El primer día del mes actual en php usando date_modify como objeto DateTime

Puedo obtener el lunes de esta semana con:

$monday = date_create()->modify('this Monday'); 

Me gustaría llegar con la misma facilidad el 1 de este mes. ¿Cómo puedo lograr eso?

Gracias

Requiere PHP 5.3 para funcionar (“primer día de” se introduce en PHP 5.3). De lo contrario, el ejemplo anterior es la única forma de hacerlo:

 format('jS, F Y'); // First day of a specific month $d = new DateTime('2010-01-19'); $d->modify('first day of this month'); echo $d->format('jS, F Y'); // alternatively... echo date_create('2010-01-19') ->modify('first day of this month') ->format('jS, F Y'); 

En PHP 5.4+ puedes hacer esto:

 format('jS, F Y'); echo (new DateTime('2010-01-19')) ->modify('first day of this month') ->format('jS, F Y'); 

Si prefiere una forma concisa de hacer esto, y ya tiene el año y el mes en valores numéricos, puede usar date() :

  

Esto es lo que uso.

Primer día del mes:

 date('Ym-01'); 

Último día del mes:

 date('Ym-t'); 

Esto es todo lo que necesitas:

 $week_start = strtotime('last Sunday', time()); $week_end = strtotime('next Sunday', time()); $month_start = strtotime('first day of this month', time()); $month_end = strtotime('last day of this month', time()); $year_start = strtotime('first day of January', time()); $year_end = strtotime('last day of December', time()); echo date('D, M jS Y', $week_start).'
'; echo date('D, M jS Y', $week_end).'
'; echo date('D, M jS Y', $month_start).'
'; echo date('D, M jS Y', $month_end).'
'; echo date('D, M jS Y', $year_start).'
'; echo date('D, M jS Y', $year_end).'
';

Actualmente estoy usando esta solución:

 $firstDay = new \DateTime('first day of this month'); $lastDay = new \DateTime('last day of this month'); 

El único problema que encontré es que se está estableciendo un tiempo extraño. Necesitaba el rango correcto para nuestra interfaz de búsqueda y terminé con esto:

 $firstDay = new \DateTime('first day of this month 00:00:00'); $lastDay = new \DateTime('first day of next month 00:00:00'); 

Utilizo una forma loca de hacer esto es usando este comando

 $firstDay=date('Ym-d',strtotime("first day of this month")); $lastDay=date('Ym-d',strtotime("last day of this month")); 

Eso es todo

En php 5.2 puedes usar:

 format('Ym-1'))->format('Ym-d') ?> 

Feo, (y no usa tu método, llama arriba) pero funciona:

 echo 'First day of the month: ' . date('m/d/yh:i a',(strtotime('this month',strtotime(date('m/01/y'))))); 

Puedes hacerlo así:

 $firstday = date_create()->modify('first day January 2010'); 

utilizando el método de fecha, deberíamos poder obtener el resultado. es decir; fecha (‘N / D / l’, mktime (0, 0, 0, mes, día, año));

Por ejemplo

 echo date('N', mktime(0, 0, 0, 7, 1, 2017)); // will return 6 echo date('D', mktime(0, 0, 0, 7, 1, 2017)); // will return Sat echo date('l', mktime(0, 0, 0, 7, 1, 2017)); // will return Saturday