web-dev-qa-db-fra.com

comment obtenir les premier et dernier jours d'un mois donné

Je souhaite réécrire une requête mysql qui utilise les fonctions month () et year () pour afficher tous les posts d’un mois donné qui est affecté au format de paramètre 'Ymd', mais je ne sais pas comment obtenir le dernier jour de la date du mois donné.

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

Vous voudrez peut-être consulter les fonctions strtotime et 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));
120
Francois Deschenes

Je sais que cette question a une bonne réponse avec «t», mais je pensais ajouter une autre solution.

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

Essayez ceci si vous utilisez 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');

Pour trouver le mois dernier la dernière date, modifiez comme suit,

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

etc..

9
Mohammed Safeer

cal_days_in_month () devrait vous donner le nombre total de jours du mois, et donc le dernier.

5
Jon Stirling
// 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')));
1
J Ajay

Fondamentalement:

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

Date t paramètre nombre de jours de retour du mois en cours.

1
neworld
$month = 10; // october

$firstday = date('01-' . $month . '-Y');
$lastday = date(date('t', strtotime($firstday)) .'-' . $month . '-Y');
1
MevlütÖzdemir
## Get Current Month's First Date And Last Date

echo "Today Date: ". $query_date = date('d-m-Y');
echo "<br> First day of the month: ". date('01-m-Y', strtotime($query_date));
echo "<br> Last day of the month: ". date('t-m-Y', strtotime($query_date));
0
PHP Kishan

Imprimer uniquement la semaine du mois en cours:

function my_week_range($date) {
    $ts = strtotime($date);
    $start = (date('w', $ts) == 0) ? $ts : strtotime('last sunday', $ts);
    echo $currentWeek = ceil((date("d",strtotime($date)) - date("w",strtotime($date)) - 1) / 7) + 1;
    $start_date = date('Y-m-d', $start);$end_date=date('Y-m-d', strtotime('next saturday', $start));
    if($currentWeek==1)
        {$start_date = date('Y-m-01', strtotime($date));}
    else if($currentWeek==5)
       {$end_date = date('Y-m-t', strtotime($date));}
    else
       {}
    return array($start_date, $end_date );
}

$date_range=list($start_date, $end_date) = my_week_range($new_fdate);
0
kayal