Wie bekomme ich nur einen Monat von MySQL Datum / Uhrzeit?

7

Auf meinem MySQL-Server befinden sich Zeilen mit dem Datum meines erstellten Inhalts.
Beispiel:2013-03-17 02:53:47

Im Moment benutze ich:

$date = $fetch[thedaterownamegoeshere];

<?php echo $date; ?>

Aber anstatt den vollständigen Inhalt des Datums ( 2013-03-17 02:53:47) zu erhalten, möchte ich nur den Monat erhalten - in diesem Beispiel möchte ich die Nummer "03" als Ergebnis haben. Wie kann ich das machen?

Bazaglia
quelle

Antworten:

10

VORSCHLAG # 1

Sie können die Funktion MONTH () verwenden

mysql> select MONTH(NOW());
+--------------+
| MONTH(NOW()) |
+--------------+
|            3 |
+--------------+
1 row in set (0.03 sec)

mysql> select MONTH('2013-03-17 02:53:47');
+------------------------------+
| MONTH('2013-03-17 02:53:47') |
+------------------------------+
|                            3 |
+------------------------------+
1 row in set (0.04 sec)

mysql>

Sie müssten die MONTH-Funktion in den SQL-Befehl einfügen, den Sie ausführen.

VORSCHLAG # 2

Sie können auch die PHP-Datumsfunktion ausprobieren

$month = date("m",$date)

Auch DATE_FORMAT(date_column, '%c')zu erhalten '3'als Ergebnis und DATE_FORMAT(date_column, '%m')erhält '03'als Ergebnis.

RolandoMySQLDBA
quelle
1
Seien Sie vorsichtig mit den Referenzen von w3schools ... Ich wurde von einigen Nazi-Downvotern schwer dafür bestraft, dass sie als Referenz verwendet wurden, obwohl die spezifische Referenz zu 100% korrekt war. Anscheinend spielt die spezifische Korrektheit keine Rolle angesichts der Verwendung einer Ressource mit einem schlechten Ruf (was lächerlich ist, wenn Sie mich fragen - viele korrekte Beispiele finden Sie auf lockeren Websites, sollten diese dann nicht referenziert werden?) Schuld durch Assoziation.
Stefan
0

Dies wird für Sie funktionieren.

 $date = date('M', strtotime($fetch['thedaterownamegoeshere']));
shekhar jadhav
quelle
Warum brauchen sie strtotime()?
Ypercubeᵀᴹ