+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Datum in String umwandeln

  1. #1
    Hat hier eine Zweitwohnung Avatar von JoomlaWunder
    Registriert seit
    03.03.2010
    Beiträge
    1.494
    Bedankte sich
    88
    Erhielt 282 Danksagungen
    in 277 Beiträgen

    Lächeln Datum in String umwandeln

    Hallo,

    ich habe ein $Ordner_date in dem folgenden Format: Mittwoch, 22 März 2010

    Nun möchte ich dieses in einen String umwandeln, so dass ich 22032010 erhalte.

    Wie kann ich dies in PHP realisieren?


    Bisher habe ich nur Infos gefunden, wie es andersherum gehen könnte.

    Gruß!

    JoomlaWunder
    Geändert von JoomlaWunder (26.03.2010 um 12:41 Uhr)

  2. #2
    Neu an Board Avatar von coscha
    Registriert seit
    17.02.2005
    Ort
    berlin
    Alter
    45
    Beiträge
    77
    Bedankte sich
    0
    Erhielt 21 Danksagungen
    in 21 Beiträgen

    Standard

    mhhmmmm ... wo bekommst du denn den string her?

    also du könntest den string Mittwoch, 22 März 2010 schon mal beim ',' aufsplitten, danach die teile tag / monat / jahr aufsplitten.

    PHP-Code:
    $datum split(",",$Ordner_date);
    $dat split(" ",$datum[1]); 
    dann muss nur noch der monat in eine zahl umgewandelt werden ...
    PHP-Code:
    $monate = array ('Januar' => '01' 'Februar' => '02' 'März' =>'03' 'April' =>'04' 'Mai' => '05' 'Juni' => '06' 'Juli' => '07' 'August' => '08' 'September' => '09' 'Oktober' => '10' 'November' => '11' 'Dezember' => '12'); 
    und dann die Werte in deinen Ergebnisstring schreiben.
    PHP-Code:
    $ausgabe $dat[1].$monate[$dat[2]].$dat[3]; 

    nicht schön, aber solange ich nicht weiß wo es herkommt und was dahintersteht wirds anders schwer.


    ansonsten gibt es noch solche befehle wie date_parse ... http://de.php.net/date_parse
    - - - Das du nicht paranoid bist heißt nicht, dass Sie nicht hinter dir her sind! - - - -

  3. Erhielt Danksagungen von:


  4. #3
    Neu an Board
    Registriert seit
    27.06.2006
    Beiträge
    18
    Bedankte sich
    2
    Erhielt 3 Danksagungen
    in 3 Beiträgen

    Standard

    ohne es zu testen würde ich es so sagen:

    PHP-Code:
    date("dmY",strtotime("Mittwoch, 22 März 2010")); 
    Referenzen:
    http://de.php.net/manual/de/function.date.php
    http://de.php.net/manual/de/function.strtotime.php

    Gruß

  5. Erhielt Danksagungen von:


  6. #4
    Hat hier eine Zweitwohnung Avatar von JoomlaWunder
    Registriert seit
    03.03.2010
    Beiträge
    1.494
    Bedankte sich
    88
    Erhielt 282 Danksagungen
    in 277 Beiträgen

    Frage

    Zitat Zitat von coscha Beitrag anzeigen
    mhhmmmm ... wo bekommst du denn den string her?

    also du könntest den string Mittwoch, 22 März 2010 schon mal beim ',' aufsplitten, danach die teile tag / monat / jahr aufsplitten.

    PHP-Code:
    $datum split(",",$Ordner_date);
    $dat split(" ",$datum[1]); 
    dann muss nur noch der monat in eine zahl umgewandelt werden ...
    PHP-Code:
    $monate = array ('Januar' => '01' 'Februar' => '02' 'März' =>'03' 'April' =>'04' 'Mai' => '05' 'Juni' => '06' 'Juli' => '07' 'August' => '08' 'September' => '09' 'Oktober' => '10' 'November' => '11' 'Dezember' => '12'); 
    und dann die Werte in deinen Ergebnisstring schreiben.
    PHP-Code:
    $ausgabe $dat[1].$monate[$dat[2]].$dat[3]; 

    nicht schön, aber solange ich nicht weiß wo es herkommt und was dahintersteht wirds anders schwer.


    ansonsten gibt es noch solche befehle wie date_parse ... http://de.php.net/date_parse

    Funktioniert! Danke!
    Leider etwas lang.

    Habe das Ganze jetzt auf folgendes Problem reduziert.

    Der folgende Code gibt folgendes Format aus: 25März2010

    <?php echo $VM_LANG->convert(vmFormatDate($db->f("cdate"),'%d%b%Y' )) ?>

    Statt März möchte ich nun 03 erhalten. Ich nehme an das ich %b irgendwie ändern muss.

    Aber wie?

  7. #5
    Hat hier eine Zweitwohnung Avatar von CirTap
    Registriert seit
    12.12.2005
    Ort
    Karlsruhe
    Beiträge
    1.628
    Bedankte sich
    83
    Erhielt 539 Danksagungen
    in 438 Beiträgen

    Standard

    Die Variante von feuer sollte funktionieren, wenn du kurz vorher
    setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
    oder
    setlocale(LC_TIME, 'de_DE@euro', 'de_DE', 'de', 'ge');
    aufrufst, damit PHP weiß was "März" sein soll.

    Wenn setlocale() trotzdem nicht funzt (was manchmal passieren kann), ersetze im Quellstring erst alle deutschen Monate durch die Englischen und ruf dann strtotime() mit dem nun "englischen" Datum auf.
    Joomla FAQ | CSS-Probleme? Verstehen Entdecken Anwenden Meistern

    "I love deadlines. I like the whooshing sound they make as they fly by." (Douglas Adams)
    Man kann Software schnell, gut und günstig schreiben, sich aber nur 2 Dinge aussuchen.


  8. Erhielt Danksagungen von:


  9. #6
    Hat hier eine Zweitwohnung Avatar von JoomlaWunder
    Registriert seit
    03.03.2010
    Beiträge
    1.494
    Bedankte sich
    88
    Erhielt 282 Danksagungen
    in 277 Beiträgen

    Standard

    Zitat Zitat von CirTap Beitrag anzeigen
    Die Variante von feuer sollte funktionieren, wenn du kurz vorher
    setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
    oder
    setlocale(LC_TIME, 'de_DE@euro', 'de_DE', 'de', 'ge');
    aufrufst, damit PHP weiß was "März" sein soll.

    Wenn setlocale() trotzdem nicht funzt (was manchmal passieren kann), ersetze im Quellstring erst alle deutschen Monate durch die Englischen und ruf dann strtotime() mit dem nun "englischen" Datum auf.
    Danke! So geht´s schneller.

  10. #7
    Hat hier eine Zweitwohnung Avatar von CirTap
    Registriert seit
    12.12.2005
    Ort
    Karlsruhe
    Beiträge
    1.628
    Bedankte sich
    83
    Erhielt 539 Danksagungen
    in 438 Beiträgen

    Standard

    Hi,
    gern geschehen.
    Ich seh aber grad, oben hattest du etwas versteckt diese Code-Zeile stehen:
    Code:
    <?php echo $VM_LANG->convert(vmFormatDate($db->f("cdate"),'%d%b%Y' )) ?>
    War das %b dort schon drin? Das ist nämlich kein gültiger Platzhalter für Datums- und Zeitfunktionen. Könnte also fast ein Tippfehler sein, denn neben dem b liegt auf der Tastatur das "m" und %d%m%Y ergibt 23032010 ...

    CirTap
    Joomla FAQ | CSS-Probleme? Verstehen Entdecken Anwenden Meistern

    "I love deadlines. I like the whooshing sound they make as they fly by." (Douglas Adams)
    Man kann Software schnell, gut und günstig schreiben, sich aber nur 2 Dinge aussuchen.


+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein