webentwicklung-frage-antwort-db.com.de

pHP den letzten Tag des angegebenen Monats erhalten

Ich möchte das letzte und erste Datum eines bestimmten Monats des laufenden Jahres ausgeben. Ich verwende diesen Code, funktioniert aber nicht

$month='02';
$first_day_this_month = date('Y-'.$month.'-01'); // hard-coded '01' for first day
$last_day_this_month  = date('Y-'.$month.'-t');

echo $first_day_this_month;print'<->';echo $last_day_this_month;

meine Ausgabe zeigt

2015-02-01<->2015-02-31

Aber es wird 2015-02-01<->2015-02-28

8
Frai1989

Ich hatte dieses Problem schon einmal mit PHP. Versuchen Sie es folgendermaßen:

$dateToTest = "2015-02-01";
$lastday = date('t',strtotime($dateToTest));
14
Ushal Naidoo

es gibt viele Möglichkeiten, dies zu tun, ich gebe Ihnen zwei Antworten\Ideen:

1- Versuchen Sie, die Funktion strtotime PHP zu verwenden ( http://php.net/manual/es/function.strtotime.php )

So etwas wie date("Y-m-d", strtotime("last day of this month")); oder erster Tag ... oder irgendeinen Monat.

2- Auf andere Weise können Sie das verwenden:

Erster Tag:

date("Y-m-d", mktime(0, 0, 0, *YOUR MONTH PARAM*,1 ,date("Y")));

Letzter Tag:

date("Y-m-d", mktime(0, 0, 0, *YOUR MONTH PARAM*+1,0,date("Y")));

Lesen Sie hier die Funktion mktime:

http://php.net/manual/es/function.mktime.php

Viel Glück!

Sie können DateTime-Methoden verwenden:

$month = '02';

$date = new DateTime(date('Y').'-'.$month.'-01');
$date->modify('first day of this month');
$first_day_this_month = $date->format('Y-m-d');

$date->modify('last day of this month');
$last_day_this_month = $date->format('Y-m-d');
2
Gautier

Sie können mit DateTime-Klasse. 

    $month='02';
    $first_day_this_month = date('Y-'.$month.'-01');

    $firstDayThisMonth = new \DateTime($first_day_this_month);

    $lastDayThisMonth = new \DateTime($firstDayThisMonth->format('Y-m-t'));
    $lastDayThisMonth->setTime(23, 59, 59);

    echo $firstDayThisMonth->format("Y-m-d");
    echo "<->";
    echo $lastDayThisMonth->format("Y-m-d");
0
ercvs