2017-07-17 7 views
2

Ich versuche, ein Datum in Monatsname und Jahr umzuwandeln.Datum in Monat umwandeln Name & Jahr

$date = '2017-07-00'; 
$date = date('m/y', strtotime($date)); 
echo DATE_FORMAT($date, '%M %Y'); 

Ich erwarte eine Ausgabe wie

July, 2017 

ist hier Fehler, den ich immer bin

Warning: date_format() expects parameter 1 to be DateTimeInterface, string given 
+2

Sie scheinen zu mischen MySQL- DATE_FORMAT' und PHP 'date_format'. Lesen Sie die Dokumentation. –

+1

Was bedeutet der 0. Juli? –

+0

Ich habe "00" durch Verkettung hinzugefügt, weil ich nur Monat und Jahr verwende, indem ich den Eingabetyp = "Monat" verwende, um es im Datumsformat zu speichern, das ich verkettet habe. @BartFriederichs –

Antwort

7

verwenden.

Beispiel-1: Wenn 00 am Tag verwendet. Dann wird der Ausgang sein Juni 2017

<?php 
$date = '2017-07-00'; 
$date = date('F, Y', strtotime($date)); 
echo $date; 
?> 

Beispiel 2: Wenn 01 oder gültig Tag für Tag verwendet. Dann wird der Ausgang Juli 2017

<?php 
$date = '2017-07-01'; 
$date = date('F, Y', strtotime($date)); 
echo $date; 
?> 
0

Sie sind nicht korrekten Parameter verwenden, verwenden F für Motten und Y für Jahr

Vollständiger Code:

$date = '2017-07-00'; 
$date = date('F, Y ', strtotime($date)); 
echo $date; 
+1

Es wird Ausgabe Juni 2017 angezeigt. Nicht Juli 2017 –

+0

Ja, es zeigt 'Juni 2017' statt 'Juli 2017'. Aber der 7. Monat des Jahres ist Juli. Was ist hier falsch gelaufen? –

+0

@NanaPartykar Try 'date (" F, Y ", strtotime ($ Datum." Nächsten Monat "));' –

0

Versuchen Sie dies.

$date = '2017-07-01'; 
$date = date('F, Y', strtotime($date)); 

echo $date; 
+0

Ich habe '2017-07-00' in meiner Datenbank. Warum sollte ich das auf "2017-07-01" ändern? –

+0

@NitishKumarDiwakar Ich bezweifle ernsthaft, dass Sie '2017-07-00' in Ihrer Datenbank haben, wenn das Datenbankschema korrekt ist und Sie eine Datumsspalte verwenden. –

0

können Sie diese keine Notwendigkeit der DATE_FORMAT() Funktion

echo date('F,Y',strtotime($date));