kostenloser Webspace werbefrei: lima-city


Datum/Uhrzeit wieder in Timestamp wandeln ?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    azadoras

    azadoras hat kostenlosen Webspace.

    Moin,

    mal wieder eine Frage.

    Kann man ein Datums-Format wie z.B. "2007-06-02 16:43" oder "26.02.1988 16:43" wieder in einen Timestamp zurückverwandeln ?

    Greetz,
    Aza
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ja, http://php.net/mktime
  4. Wenn dir das Format bekannt ist kannst du jederzeit umwandeln, allerdings musst du zuerst den string trennen
    http://php.net/substr

    hier ein Bsp.

    <?php
    
    //deine Datumsvariable
    $date = "2007-06-02 16:43"; 
    
    //formatieren für mktime()
    
    $year = substr($date, 0,4); 
    $month = substr($date, 5, 2); 
    $day = substr($date, 8, 2); 
    $hour = substr($date, 11 , 2);
    $minute = substr($date, 14, 2);
    
    
    //Ergebisse überprüfen
    echo $year; 
    echo "<br>"; 
    echo $month; 
    echo "<br>"; 
    echo $day;
    echo "<br>"; 
    echo $hour;
    echo "<br>"; 
    echo $minute;
    
    //der timestamp
    $timestamp = mktime(0, $minute, $hour, $month, $day +14, $year);
    
    echo "<br>";
    echo $timestamp; 
    
    ?>


    mfg Zar
  5. e********l

    Wieso so umständlich?

    Direkt in PHP bietet sich strtotime() an und wenn es in der SQL Anweisung geschehen soll würde ich bei MySQL auf UNIX_TIMESTAMP() zurückgreifen. Geht auch in die andere Richtung via FROM_UNIXTIME().
  6. Weil ich mit strtotime() immer andere Werte bekomme:

    Also der Code den ich nun zum testen habe ist
    <?php
    
    //deine Datumsvariable
    $date = "2007-06-02 16:43"; 
    
    //formatieren für mktime()
    
    $year = substr($date, 0,4); 
    $month = substr($date, 5, 2); 
    $day = substr($date, 8, 2); 
    $hour = substr($date, 11 , 2);
    $minute = substr($date, 14, 2);
    
    
    //Ergebisse überprüfen
    echo $year; 
    echo "<br>"; 
    echo $month; 
    echo "<br>"; 
    echo $day;
    echo "<br>"; 
    echo $hour;
    echo "<br>"; 
    echo $minute;
    
    //der timestamp
    $timestamp = mktime(0, $minute, $hour, $month, $day +14, $year);
    
    echo "<br>";
    echo $timestamp;
    
    echo "<br>";
    echo strtotime($date);
    
    ?>


    Und die Ausgabe ist:
    2007
    06
    02
    16
    43
    1181947396
    1180795380
  7. Autor dieses Themas

    azadoras

    azadoras hat kostenlosen Webspace.

    Danke erstmal wieder für die vielen ANtworten.

    Also die Sache mit mktime() liefert auf jeden Fall den richtigen Timestamp, sehe ich das nun soweit korrekt ?
  8. Da du beim substr() selbst das Eingabeformat des Datumsfestlegst, und dies Korrekt tust dann liefert die mktime funktion auf jedenfall den richtigen timstamp, ich hoffe dir ist das Schma beim substr. klar

    Ich glaube das die strtotime() ein problem mit der formatierung hat
  9. Autor dieses Themas

    azadoras

    azadoras hat kostenlosen Webspace.

    Jop, das substr hab ich kapiert. Darum wollte ich nochmal sichergehen, dass dein Vorschlag nun auch wirklih den richtigen Wert liefert, weil ich den eben verstanden habe. Das strotime() scheitn dann ja irgendwie nich zu funktionieren. :>
  10. jap meines funktioniert, und strtotime scheitert an der formatierung

    mehr infos als dort hab ich auch nu ned über die möglichkeiten
    http://php.net/strtotime
  11. Also sorry aber wenn Ihr die Argumente richtig einsetzen würdet, würde es auch funktionieren !
    In PHP ist die Anordnung bissl anders als in Unix ;-)
    1. muß die +14 beim Tag weg
    2. die Parameter $hour und $seconds sind getauscht

    Korrekt: $timestamp = mktime($hour, $minute, 0, $month, $day, $year);


    Somit ist: mktime() = strtotime()


    Grüßle

    PS: Ich finde es doch immer wieder seltsam, dass die Menschen nicht den fest implementierten PHP Funktionen vertrauen.

    Beitrag geändert: 26.7.2007 14:52:40 von scout
  12. Okay waren zwei Fehler meiner Seite, sorry. zurecht vertraue ich diversen Funktionen wo aufgrund einer Formatierung die durch einen PC erkannt werden soll nicht mehr den vorhandenen Funktionen, ohne sie nicht zum. gegengeprüft zu haben.

    Dass dann ab und zu beim gach runterprogrammieren Fehler auftreten, kann auch mal passiern
  13. Autor dieses Themas

    azadoras

    azadoras hat kostenlosen Webspace.

    Was beduetet denn die "0" in dem mktime ?

  14. Was beduetet denn die "0" in dem mktime ?


    das is, wenn du dir die funktion anschauen würdest, die sekunden angabe... da kannst du natürlich noch, falls für dich die sekunden entscheidend sind, noch deinen sekundenwert eingeben... ;-)

    mktime ($Stunde,$Minute,$Sekunde,$Monat,$Tag,$Jahr);


    mfg

    Beitrag geändert: 26.7.2007 15:51:02 von ranglisten
  15. Autor dieses Themas

    azadoras

    azadoras hat kostenlosen Webspace.

    Ah, okay, verstehe, danke.
  16. @zar: es war auch keine direkte Kritik an dir ;-) So wie ich das sehe geistern hier nur mind. 5 Leute rum und keiner hat sich die Mühe gemacht, mal etwas genauer hinzuschauen.

    Und bei Datumsberechnungen auf interne Funktionen zu verzichten, find ich nicht so gut, weil spätestens dann das ganze den Leuten auf die Füße fällt, wenn diese Schaltjahre usw. mit beachten und berechnen müssen. Die internen Funktionen machen das alles automatisch, sogar mit Berücksichtigung der Zeitzone.

    Demzufolge würde ich strtotime() vorziehen, genauso wie gmdate() usw.

    Grüßle

    Beitrag geändert: 26.7.2007 17:31:31 von scout
  17. wobei irgendeine Datumsfunktion in PHP hatte Probleme mit dem Jahr 2000 und bei 101 weitergemacht, ich hab damals des als funktion umgebastelt wo ich mir dann mehr oder weniger selbst die Formatierung mitgegeben hab, um felxibler zu sein, weil ich damals nicht wusste, wie die Daten kommen.

    Und ich seh das schon als Kritik, aber als kosntruktive, weil wenn du nicht gewesen wärst hätt ich einen scheiß weiter verzapft, ich bin froh das du diese geübt hast
  18. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!