una ultimo semana sacar primer pasado obtener mes fecha anterior php date

ultimo - sacar mes en php



cómo obtener el primer y último día de un mes determinado (7)

Básicamente:

$lastDate = date("Y-m-t", strtotime($query_d));

Fecha t parámetro devuelve el número de días en el mes actual.

Deseo reescribir una consulta de MySQL que use las funciones de mes () y año () para mostrar todas las publicaciones de un cierto mes que va a mi función como un formato de parámetro ''Ymd'', pero no sé cómo puedo obtener el último día de la fecha del mes dado.

$query_date = ''2010-02-04''; list($y, $m, $d) = explode(''-'', $query_date); $first_day = $y . ''-'' . $m . ''-01'';


Es posible que desee ver las funciones de tiempo de strtotime y date .

<?php $query_date = ''2010-02-04''; // First day of the month. echo date(''Y-m-01'', strtotime($query_date)); // Last day of the month. echo date(''Y-m-t'', strtotime($query_date));


Pruebe esto, si está usando PHP 5.3+, en php

$query_date = ''2010-02-04''; $date = new DateTime($query_date); //First day of month $date->modify(''first day of this month''); $firstday= $date->format(''Y-m-d''); //Last day of month $date->modify(''last day of this month''); $lastday= $date->format(''Y-m-d'');

Para encontrar la última fecha del mes siguiente, modifique de la siguiente manera,

$date->modify(''last day of 1 month''); echo $date->format(''Y-m-d'');

y así..


Sé que esta pregunta tiene una buena respuesta con ''t'', pero pensé en agregar otra solución.

$first = date("Y-m-d", strtotime("first day of this month")); $last = date("Y-m-d", strtotime("last day of this month"));


cal_days_in_month() debería darle el número total de días en el mes y, por lo tanto, el último.


$month = 10; // october $firstday = date(''01-'' . $month . ''-Y''); $lastday = date(date(''t'', strtotime($firstday)) .''-'' . $month . ''-Y'');


// First date of the current date echo date(''Y-m-d'', mktime(0, 0, 0, date(''m''), 1, date(''Y''))); echo ''<br />''; // Last date of the current date echo date(''Y-m-d'', mktime(0, 0, 0, date(''m'')+1, 0, date(''Y'')));