2016-06-14 12 views
1

Ich habe ein Datumsfeld in meinem Tisch MaterialPhp mysql Datum in Tabelle

  • id: int;
  • dat_operation: Datum;
  • Name: varchar (255);

Ich mag würde wissen, wie das Datumsformat in Französisch ich versuchte, übersetzen:

<?php echo date("F j Y",strtotime($var['date_operation']));?> 

Aber ich habe dieses Ergebnis

June 14 2016 
+0

Können Sie definieren, was die gewünschte Ausgabe ist? (Nicht jeder kennt _all_ die verschiedenen Datumsformate aus der ganzen Welt ...) – Jeff

+0

Oder willst du "Juni" ins Französische übersetzen lassen? – Jeff

+0

@Jeff Ja, ich möchte Juni in Französisch übersetzen –

Antwort

1

Zunächst werden Sie setzen müssen die "locale information", um anzugeben, welche Sprache Sie verwenden möchten. Beachten Sie, dass Sie diese Sprache zwar einstellen müssen, aber auf dem Server installiert werden müssen, auf dem Sie arbeiten. Es ist wahrscheinlich, aber Sie werden feststellen, wenn die setlocale keine Wirkung hat (Standard ist Englisch).

Die zweite Sache, die Sie wissen müssen, ist, dass date() davon nicht betroffen ist, müssen Sie stattdessen strftime() verwenden, die eine etwas andere Formatierung hat, die Sie in der Dokumentation finden.

Ein Beispiel für die Verwendung Französisch Daten mit diesen beiden Funktionen:

setlocale(LC_ALL, 'fr_FR'); 
echo strftime("%B %e %Y", strtotime($var['date_operation'])); 

Referenz und Dokumentation:

1

Der moderne und rock-solid Ansatz ist die intl (from "Internationalization") extension, die z.B. die IntlDateFormatter class:

$date = new DateTime('2016-06-14'); 
$fmt = new IntlDateFormatter('fr_FR', IntlDateFormatter::LONG, IntlDateFormatter::NONE, 'Europe/Paris', IntlDateFormatter::GREGORIAN); 
var_dump($fmt->format($date)); 
string(12) "14 juin 2016" 

Wenn Sie es übertrieben für Ihr Projekt denken, können Sie die Legacy-strftime() Funktion verwenden, aber Sie müssen den aktuellen locale ändern:

$date = strtotime('2016-06-14'); 
var_dump(setlocale(LC_TIME, 'fr_FR', 'fr')); // Need to try values until you get true 
var_dump(strftime('%B %e %Y', $date)); 

Sie benötigen Französisch locale haben Daten installiert. Nach meiner Erfahrung funktioniert das besser auf Unix-ähnlichen Systemen als auf Windows.