• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Function aus Datetime

T4k3C4r3

Mitglied
Guten Tag PHPler,

Gleich zur Frage:

Wie kann ich aus einem Datetime Format (englisches Format) ein deutsches Format daraus machen?

WICHTIG: Das Ganze soll eine Funktion sein und nicht direkt im QUERY des MySQLs zustande kommen.

Danke schonmal.

Mfg
 
Werbung:
Werbung:
Werbung:
Auch in MySQL-Statements kann man sprachabhängige Formatierungen hinterlegen. Wie sieht denn das Statement aktuell aus und was fehlt?



Im moment habe ich diese Funktion!!, nur die macht nicht das gewünschte.

PHP:
function datetime($datetime) {
    
    $stamp['date']    =    sprintf("%02d.%02d.%04d",
                             substr($datetime, 6, 2),
                             substr($datetime, 4, 2),
                             substr($datetime, 0, 4));
                                            
    $stamp['time']    =    sprintf("%02d:%02d:%02d",
                             substr($datetime, 8, 2),
                             substr($datetime, 10, 2),
                             substr($datetime, 12, 2));

    return $stamp;
}
 
Werbung:
nur hab ich nichts passendes/funktionierendes gefunden.
Sorry, das kann ich mir nicht vorstellen. In der Doku findet man das ja sogar.
PHP:
<?php

   function convertDateTime($date, $lang="de")
   {
      $result = $date;
      
      switch ($lang)
      {
          case "de": $result = date ("d.m.Y H:i", strtotime($date));
                     break;
          case "en": $result = date ("Y-m-d H:i", strtotime($date));
                     break;
      }
      
      return $result;
   }
   
   $date = "2012-12-09 14:18";
   
   echo "Deutsch: " . convertDateTime($date, "de") . "<br>";
   
   echo "Englisch: " . convertDateTime($date, "en") . "<br>";
   
?>
 
PHP:
<?php

   function convertDateTime($date, $lang="de")
   {
      $result = $date;
      
      switch ($lang)
      {
          case "de": $result = date ("d.m.Y H:i", strtotime($date));
                     break;
          case "en": $result = date ("Y-m-d H:i", strtotime($date));
                     break;
      }
      
      return $result;
   }
   
   $date = "2012-12-09 14:18";
   
   echo "Deutsch: " . convertDateTime($date, "de") . "<br>";
   
   echo "Englisch: " . convertDateTime($date, "en") . "<br>";
   
?>

Bisschen umgeschrieben und es funktioniert, Danke!
 
Werbung:
Hilfe, Kinder, bitte!

Warum spricht niemand von der DateTime-Klasse?

PHP:
date_default_timezone_set('Europe/Brussels');
class MyDateTime extends DateTime {
	const LOCALE_GERMAN_DATE_FULL_TIME = 'd.m.Y H:i:s';
}

$Date = new DateTime('2012-12-09 14:18');
echo $Date->format(MyDateTime::LOCALE_GERMAN_DATE_FULL_TIME);
 
Hilfe, Kinder, bitte!

Warum spricht niemand von der DateTime-Klasse?

PHP:
date_default_timezone_set('Europe/Brussels');
class MyDateTime extends DateTime {
    const LOCALE_GERMAN_DATE_FULL_TIME = 'd.m.Y H:i:s';
}

$Date = new DateTime('2012-12-09 14:18');
echo $Date->format(MyDateTime::LOCALE_GERMAN_DATE_FULL_TIME);

Ich versteh das nicht ganz? Wieso ist das zb besser als das ?


PHP:
<?php

   function convertDateTime($date, $lang="de")
   {
      $result = $date;
      
      switch ($lang)
      {
          case "de": $result = date ("d.m.Y H:i", strtotime($date));
                     break;
          case "en": $result = date ("Y-m-d H:i", strtotime($date));
                     break;
      }
      
      return $result;
   }
   
   $date = "2012-12-09 14:18";
   
   echo "Deutsch: " . convertDateTime($date, "de") . "<br>";
   
   echo "Englisch: " . convertDateTime($date, "en") . "<br>";
   
?>
 
Weil du mit DateTime-Objekten mehr anstellen kannst als mit prozeduralem Kram.
Du kannst mit den Daten viel einfacher jonglieren. Du kannst sie vergleichen, mit Zeitzonen hantieren, sie manipulieren usw.
 
Werbung:
Du kannst im Übrigen auch so arbeiten, statt die Zeitzone global einzustellen:

PHP:
new DateTime("2012-12-09 14:18", new DateTimeZone('Europe/Brussels'));
 
Zurück
Oben