it-swarm.com.de

Datumsformat (in DB oder Ausgabe) in TT/MM/JJJJ ändern - PHP MySQL

MySQL speichert das Datum in meiner Datenbank (standardmäßig) als 'JJJJ-MM-TT'. Der Feldtyp für mein Datum ist 'DATE' (ich benötige keine Zeitspeicherung). Gibt es eine einfache Möglichkeit, es standardmäßig zu ändern zu TT/MM/JJJJ?

Ich rufe verschiedene Daten in 2 verschiedenen Tabellen auf und nirgendwo in meinem Code habe ich irgendetwas, das einer Datumsvariablen ähnelt oder so! Hoffentlich ist das eine einfache Änderung?

11
Jess

In PHP können Sie:

  • Wandeln Sie das Datum mit strtotime in einen Zeitstempel um.
  • Formatiere es mit date

Ein bisschen wie folgt würde ich sagen:

$timestamp = strtotime($date_from_db);
echo date('d/m/Y', $timestamp);

Dies funktioniert jedoch nur für Daten zwischen 1970 und 2038, da Zeitstempel als 32-Bit-Ganzzahlen ab dem 01.01.1970 gespeichert werden.


In MySQL würde wohl die Funktion date_format den Trick machen.
Zum Beispiel :

mysql> select date_format(curdate(), '%d/%m/%Y');
+------------------------------------+
| date_format(curdate(), '%d/%m/%Y') |
+------------------------------------+
| 19/03/2010                         |
+------------------------------------+
1 row in set (0.03 sec)


Und der Vollständigkeit halber wäre eine andere Lösung in PHP, die nicht unter der Einschränkung von 1970-2038 leidet, die Verwendung der Klasse DateTime und insbesondere:

Zum Beispiel dieser Teil des Codes:

$date = new DateTime('2010-03-19');
echo $date->format('d/m/Y');

würde dir diese Ausgabe bringen:

19/03/2010
18
Pascal MARTIN

Verwenden Sie einfach die in MySQL integrierte Funktion DATE_FORMAT ()

SELECT DATE_FORMAT(some_date_field, "Y/m/d");
4
John Conde

Sie können Ihr Datum in jedem gewünschten Format auf Ihren Seiten anzeigen, in MySQL weiß ich es wirklich nicht, in PHP können Sie diese Funktion verwenden: Datum (String $ Format [ Int $ Zeitstempel]). So können Sie dies tun:

echodatum ("d/m/Y", Strtotime ($ your_date));

Die vollständige Beschreibung finden Sie hier: http://php.net/manual/en/function.date.php

2
D.Martin

Nachdem Sie es aus der Datenbank erhalten haben, konvertieren Sie es mit $time = strtotime($value) in einen Zeitstempel in PHP. Verwenden Sie dann date("d/m/Y", $time), um es in diesem Format abzurufen.

1

Wenn Sie ein Framework wie Zend verwenden würden, wäre dies sehr einfach, da Sie viele Klassen haben, um mit Datenbanken und Datumsformatierungen umzugehen. Dann würden Sie die Ausgabe immer als brasilianisches Datumsformat sehen. Genau wie Delphi TDateField auf dem aktuellen Computer das Windows-Datumsformat verwendet, sucht Zend in Ihrer eigenen Konfiguration.

ich benutze dieses Skript und setze es in die obere Zeile.

$(function(){
    var pickerOpts = {
        dateFormat: "yy-mm-dd"
    };  
    $("#datepicker").datepicker(pickerOpts);
});

und dieses in deiner Form.

<input id=**"datepicker" type="date"** name="Start"  size="9" value="<?php  

echo $Start;

?>" />

Es erscheint als d/m/y auf Ihrer Seite, aber in Ihrer Datenbank als y/m/d.

1
Nurfaezah Hanis

Diese MySQL-Funktion gibt das richtige Format im Ergebnis zurück

SELECT DATE_FORMAT(date_field, "%M %d %Y");
0
Nandhini

$dtShowDate = $_POST['dtShowDate']; $date =explode('-', $dtShowDate)0; $showdate = $date[2]."-".$date[0]."-".$date[1];

Stellen Sie das Datum wie gewünscht ein

0
Keval Mehta