now - El primer día del mes actual en php usando date_modify como objeto DateTime
strtotime (9)
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
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'');
En php 5.2 puedes usar:
<? $d = date_create();
print date_create($d->format(''Y-m-1''))->format(''Y-m-d'') ?>
Esto es lo que uso.
Primer día del mes:
date(''Y-m-01'');
Último día del mes:
date(''Y-m-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).''<br/>'';
echo date(''D, M jS Y'', $week_end).''<br/>'';
echo date(''D, M jS Y'', $month_start).''<br/>'';
echo date(''D, M jS Y'', $month_end).''<br/>'';
echo date(''D, M jS Y'', $year_start).''<br/>'';
echo date(''D, M jS Y'', $year_end).''<br/>'';
Feo, (y no usa tu método, llama arriba) pero funciona:
echo ''First day of the month: '' . date(''m/d/y h:i a'',(strtotime(''this month'',strtotime(date(''m/01/y'')))));
Puedes hacerlo así:
$firstday = date_create()->modify(''first day January 2010'');
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:
<?php
// First day of this month
$d = new DateTime(''first day of this month'');
echo $d->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:
<?php
// First day of this month
echo (new DateTime(''first day of this month''))->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()
:
<?php
echo date(''Y-m-01''); // first day of this month
echo date("$year-$month-01"); // first day of a month chosen by you
Utilizo una forma loca de hacer esto es usando este comando
$firstDay=date(''Y-m-d'',strtotime("first day of this month"));
$lastDay=date(''Y-m-d'',strtotime("last day of this month"));
Eso es todo
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