Wie kann ich mit PHP das erste und letzte Datum in einem Monat finden?
82
Wie kann ich mit PHP das erste und letzte Datum in einem Monat finden? Zum Beispiel ist heute der 21. April 2010; Ich möchte den 1. April 2010 und den 30. April 2010 finden.
Am einfachsten ist die Verwendung date, mit der Sie fest codierte Werte mit Werten mischen können, die aus einem Zeitstempel extrahiert wurden. Wenn Sie keinen Zeitstempel angeben, wird das aktuelle Datum und die aktuelle Uhrzeit angenommen.
// Current timestamp is assumed, so these find first and last day of THIS month
$first_day_this_month = date('m-01-Y');// hard-coded '01' for first day
$last_day_this_month = date('m-t-Y');// With timestamp, this gets last day of April 2010
$last_day_april_2010 = date('m-t-Y', strtotime('April 21, 2010'));
date()Durchsucht die angegebene Zeichenfolge 'm-t-Y'nach bestimmten Symbolen und ersetzt sie durch Werte aus dem Zeitstempel. Wir können diese Symbole also verwenden, um die gewünschten Werte und Formatierungen aus dem Zeitstempel zu extrahieren. In den obigen Beispielen:
Y gibt Ihnen das 4-stellige Jahr ab dem Zeitstempel ('2010')
m gibt Ihnen den numerischen Monat ab dem Zeitstempel mit einer führenden Null ('04')
t gibt Ihnen die Anzahl der Tage im Monat des Zeitstempels an ('30')
Damit können Sie kreativ sein. Zum Beispiel, um die erste und letzte Sekunde eines Monats zu erhalten:
Wenn ich hier nur Informationen hinzufüge, hatte ich Probleme, das Datum mit diesem Format wieder in einen Unix-Zeitstempel zu konvertieren. Es wurde behoben, indem das Format 'dmY' anstelle von 'mdY' verwendet wurde. Auch die letzte Sekunde ist '23: 59: 59 'anstelle von '12 : 59: 59 '..
Syed Qarib
26
Einfache Sache
Y - Eine vollständige numerische Darstellung eines Jahres mit 4 Ziffern
m - Numerische Darstellung eines Monats mit führenden Nullen
Mit der Datumsfunktion können Sie ermitteln, wie viele Tage in einem Monat vorhanden sind.
// Get the timestamp for the date/month in question.
$ts = strtotime('April 2010');
echo date('t', $ts);// Result: 30, therefore, April 30, 2010 is the last day of that month.
Hoffentlich hilft das.
EDIT: Nachdem ich Luis 'Antwort gelesen hatte, kam mir der Gedanke, dass Sie sie im richtigen Format (JJ-mm-TT) haben möchten. Es mag offensichtlich sein, tut aber nicht weh zu erwähnen:
Verwenden Sie für einen bestimmten Monat und ein bestimmtes Jahr das Datum () als natürliche Sprache wie folgt
$first_date = date('d-m-Y',strtotime('first day of april 2010'));
$last_date = date('d-m-Y',strtotime('last day of april 2010'));// Isn't it simple way?
aber für den laufenden Monat
$first_date = date('d-m-Y',strtotime('first day of this month'));
$last_date = date('d-m-Y',strtotime('last day of this month'));
Wenn Sie den ersten und den letzten Tag aus der angegebenen Datumsvariablen ermitteln möchten, können Sie dies wie folgt tun:
$date ='2012-02-12';//your given date
$first_date_find = strtotime(date("Y-m-d", strtotime($date)).", first day of this month");
echo $first_date = date("Y-m-d",$first_date_find);
$last_date_find = strtotime(date("Y-m-d", strtotime($date)).", last day of this month");
echo $last_date = date("Y-m-d",$last_date_find);
Für das aktuelle Datum verwenden Sie dies einfach
$first_date = date('Y-m-d',strtotime('first day of this month'));
$last_date = date('Y-m-d',strtotime('last day of this month'));
Sie können das Datum ("Ymd", strtotime ($ date)) durch $ date ersetzen, da diese identisch sind, Sie jedoch weniger Code schreiben.
Nicolaskolman
2
Um das erste und letzte Datum von zu bekommen Last Month;
$dateBegin = strtotime("first day of last month");
$dateEnd = strtotime("last day of last month");
echo date("D-F-Y", $dateBegin);
echo "<br>";
echo date("D-F-Y", $dateEnd);
Antworten:
Am einfachsten ist die Verwendung
date
, mit der Sie fest codierte Werte mit Werten mischen können, die aus einem Zeitstempel extrahiert wurden. Wenn Sie keinen Zeitstempel angeben, wird das aktuelle Datum und die aktuelle Uhrzeit angenommen.date()
Durchsucht die angegebene Zeichenfolge'm-t-Y'
nach bestimmten Symbolen und ersetzt sie durch Werte aus dem Zeitstempel. Wir können diese Symbole also verwenden, um die gewünschten Werte und Formatierungen aus dem Zeitstempel zu extrahieren. In den obigen Beispielen:Y
gibt Ihnen das 4-stellige Jahr ab dem Zeitstempel ('2010')m
gibt Ihnen den numerischen Monat ab dem Zeitstempel mit einer führenden Null ('04')t
gibt Ihnen die Anzahl der Tage im Monat des Zeitstempels an ('30')Damit können Sie kreativ sein. Zum Beispiel, um die erste und letzte Sekunde eines Monats zu erhalten:
Weitere Symbole und weitere Details finden Sie unter http://php.net/manual/en/function.date.php .
quelle
Einfache Sache
Referenz - http://www.php.net/manual/en/function.date.php
quelle
Mit der Datumsfunktion können Sie ermitteln, wie viele Tage in einem Monat vorhanden sind.
Hoffentlich hilft das.
EDIT: Nachdem ich Luis 'Antwort gelesen hatte, kam mir der Gedanke, dass Sie sie im richtigen Format (JJ-mm-TT) haben möchten. Es mag offensichtlich sein, tut aber nicht weh zu erwähnen:
quelle
Dies gibt Ihnen den letzten Tag des Monats:
Und der erste Tag:
quelle
Verwenden Sie für einen bestimmten Monat und ein bestimmtes Jahr das Datum () als natürliche Sprache wie folgt
aber für den laufenden Monat
quelle
Wenn Sie den ersten und den letzten Tag aus der angegebenen Datumsvariablen ermitteln möchten, können Sie dies wie folgt tun:
Für das aktuelle Datum verwenden Sie dies einfach
Live-Demo
quelle
Um das erste und letzte Datum von zu bekommen
Last Month
;quelle
In einfachem Format
Ändern Sie für den nächsten Monat $ curMonth in $ curMonth = date ('F', strtotime ("+ 1 Monate"));
quelle
Anzeige 31 letzter Tag des Datums
quelle