+ Antworten
Ergebnis 1 bis 7 von 7
  1. #1
    Registriert seit
    Aug 2018
    Beiträge
    153

    Standard Wie kann ich die Sprache für den Datum-/Zeitwert auf Deutsch umstellen?

    Hallo,
    von einem Datum-/Zeitwert im Unix-Format erstelle ich ein DateTime-Objekt. Wenn ich mit format - welches für den Wochentag das Formatzeichen D enthält - das Datum anzeige, dann erscheint der Wochentag in Englisch (The, Wed, ...).

    PHP-Code:
    $dateTime = new DateTime();
    $dateTime->setTimezone(new DateTimeZone('Europe/Berlin'));
    $dateTime->setTimestamp(1579762006);
    echo 
    $dateTime->format('D d.m.Y   H:i'); 

    Wie kann ich die Sprache für den Datum-/Zeitwert auf Deutsch umstellen?


    Alexander

  2. #2
    Registriert seit
    May 2008
    Ort
    Forstern
    Beiträge
    1,370

    Das Problem kenne ich. Ich weiß nicht ob es eine bessere methode gibt, aber ich behelfe mir mit eine Übersetzungstabelle:

    PHP-Code:
    # Wochentage auf Deutsch
    $day = [
        
    'Sonntag',
        
    'Montag',
        
    'Dienstag',
        
    'Mittwoch',
        
    'Donnerstag',
        
    'Freitag',
        
    'Samstag',
    ];
    # Übersetzungstabelle
    $trans = [
        
    'Monday'    => 'Montag',
        
    'Tuesday'   => 'Dienstag',
        
    'Wednesday' => 'Mittwoch',
        
    'Thursday'  => 'Donnerstag',
        
    'Friday'    => 'Freitag',
        
    'Saturday'  => 'Samstag',
        
    'Sunday'    => 'Sonntag',
        
    'Mon'       => 'Mo',
        
    'Tue'       => 'Di',
        
    'Wed'       => 'Mi',
        
    'Thu'       => 'Do',
        
    'Fri'       => 'Fr',
        
    'Sat'       => 'Sa',
        
    'Sun'       => 'So',
        
    'January'   => 'Januar',
        
    'February'  => 'Februar',
        
    'March'     => 'März',
        
    'May'       => 'Mai',
        
    'June'      => 'Juni',
        
    'July'      => 'Juli',
        
    'October'   => 'Oktober',
        
    'December'  => 'Dezember',
    ];

    //Beispiel DateTime
    $mo $dt->format('F');
    $mo strtr($mo$trans);

    // oder 
    substr($day[date("w"strtotime($end_date))],0,2). 
    Hoffe das verständlich mein Vorgehen
    Heiko
    SERVER: FB 7490, RaspPi 3 B+, CCU2 und IP-Symcon V5.5 (Ninja) | SYSTEME: Amazon ECHOs, Apple TVs, Homematic/IP, LevelJet, Logitech Harmony, Magic Home, Pioneer AVR, Philips Hue, Samsung TV's, Somfy RFX, Tasmota- , Shelly- & Zigbee-Geräte, Apple & Android Handys & Tablets | MODULE: Almanac, Awido, Toolmatic Reihe (5x), Magic Home Controller, Pollenflug, Twinkly | SKINS: WwxSkin

  3. #3
    Registriert seit
    Aug 2018
    Beiträge
    153

    Zitat Zitat von pitti Beitrag anzeigen
    ... aber ich behelfe mir mit eine Übersetzungstabelle ...

    Heiko
    Hallo Heiko,
    Danke für deine Mühe. Es muss aber irgendwie zentral für die Basis-Funktionen (Datum/Zeit gehört dazu) möglich sein. Leider finde ich nichts.

    Alexander

  4. #4
    Registriert seit
    Feb 2010
    Ort
    Kreis Wesel
    Beiträge
    263

    Hallo Alexander,
    habe ich auch vergeblich nach gesucht und so gelöst:
    PHP-Code:
    // Wochentag in deutsch ausgeben
    $Tag Date("w");
    $Tag1 = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
    SetValueString(36047$Tag1[$Tag]); 
    Die Lösung von Heiko (OT: pitti - Verwechslung nicht ausgeschlossen) ist universaler.

    Gruß, Peter

  5. #5
    Registriert seit
    Aug 2018
    Beiträge
    153

    Hallo Heiko und Peter,
    Danke für eure Hilfe. Inzwischen habe ich mehrfach in PHP-Foren gelesen, dass es nur mit einem eigenen Array funktioniert. So wie von euch vorgeschlagen.

    Alexander

  6. #6
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    10,649

    Dafür gibt es eine fertige PHP Funktion.
    PHP: strftime - Manual
    PHP-Code:
    $sTStamp "1342333231"; echo strftime("%A, den %d %B %Y %H:%M"$sTStamp); 
    Michael
    on Win10VM (ESXi): I7, 32GB RAM, HW-RAID5, 2xSat | HW: pivccu + ca.130 Geräte (ca.550ch), EM1000, CUL, 1Wire, FritzBox Cable, Android Phone + Tablet, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, RoundCube, Win2016 Ess., MediaPortal, Kodi

  7. #7
    Registriert seit
    Aug 2018
    Beiträge
    153

    Zitat Zitat von Nall-chan Beitrag anzeigen
    Dafür gibt es eine fertige PHP Funktion. ...

    Michael
    Hallo Michael,
    genau die Funktion habe ich gesucht. Danke.

    Alexander

Ähnliche Themen

  1. Antworten: 15
    Letzter Beitrag: 15.12.19, 12:10
  2. Antworten: 5
    Letzter Beitrag: 28.02.19, 13:48
  3. Antworten: 17
    Letzter Beitrag: 25.02.18, 16:16
  4. Antworten: 5
    Letzter Beitrag: 30.11.16, 22:48