Ergebnis 1 bis 15 von 15

Thema: Core Funktion die Time in Unix Konvertiert? (erledigt)

  1. #1
    Contao-Nutzer
    Registriert seit
    08.10.2010.
    Beiträge
    6

    Standard Core Funktion die Time in Unix Konvertiert? (erledigt)

    Hallo zusammen,

    ich bin grad dabei eine Extension zu schreiben, wo man über Frontend Events eintragen kann. Ich wäre auch soweit damit durch.

    ABER... Entweder ich bin blind, zu blöd dafür oder das ist ein Bug bzw. es gibt diese Funktion nicht.

    Im Frontend Formular existieren zwei Felder wo man jeweils den Start- und Endurhzeit eintragen kann. Diese Uhrzeit soll natürlich mit dem Format, den man im Backend eingestellt hat in timestamp konvertiert werden.

    So und hier fängt das Problem an, woran ich schon seit Stunden sitze und suche.
    Ich hab eine schöne Core Klasse gefunden namens "Date", die wie ich denke dazu verwenden kann/sollte dies zu bewergstelligen. Soweit so gut. Mit dem Datum geht es wunderbar, ABER nicht mit der Uhrzeit.

    Ich hab bevor ich dies gepostet habe, natürlich erstmal selbst nach geschaut, was da ab geht. Soviel wie ich im Code nach vollziehen kann, wird die Zeit nicht unterstüzt.

    Ich initialisiere Date so:

    PHP-Code:

    $endTime 
    = new Date($arrWidgets['endTime']->value); 
    Wenn ich nun in die Klasse rein schaue, springt er im Konstruktor in die Funktion "dateToUnix", was soweit richtig ist. Aber das problem ist, um zu konvertieren verwendet er nur das DateFormat und nicht das TimeFormat. Somit kann man diese Klasse nicht für diese Zwecke verwenden.

    Ich möchte auch ungern einfach die Funktion raus kopieren und einfach mal schnell ändern, denn ich denke, es gibt eine schöner lösung wie zum Beispiel das verwenden einer internen Klasse bzw. oder so etwas in der Art.

    Vielleicht sehe ich den Wald lauter Bäumen nicht und es existiert eine Lösung. Ich hoffe ihr könnt mir bei diesem Problem weiter helfen. Ich bin schon langsam am verzweifeln.

    Danke schon mal im Voraus!


    Grüße David
    Geändert von dbadura (09.10.2010 um 13:57 Uhr)

  2. #2
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Guck Dir mal die System:arseDate() an (ich glaube es ist System...evtl. auch Controller)
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  3. #3
    Contao-Nutzer
    Registriert seit
    08.10.2010.
    Beiträge
    6

    Standard

    Hallo Toflar,

    vielen Dank schon mal für deine Schnelle Antwort. Ich hab mir die Funktion angeschaut, aber sie macht genau das gegenteil. Sie Formatiert einen Timestamp. Ich brauche ein Funktion, die von 08:00 ins Timestamp kovertiert, also genau umgegehrt.

    Grüße David

  4. #4
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Ah, falsch verstanden
    Du willst den Timestamp inkl. Stunde und Minute von einem Datum, das im Format des Seitenbaums eingetragen wurde?

    $objTimeStamp = new Date($myDate);
    $intTimeStamp = $objTimeStamp->datim;

    Nicht das?
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  5. #5
    Contao-Nutzer
    Registriert seit
    08.10.2010.
    Beiträge
    6

    Standard

    Ohmann, ich wollte eben das problem noch mal verdeutlichen. Aber dabei bin selbst über die Lösung gesteulpert. Ich hab wirklich den Wald lauter Bäumen nicht gesehen.

    Für alle, die mein Problem teilen:

    Beim initialisieren eines Date objekts kann man als zweiten Parameter das Format übergeben. Und für Zeit kann man das ganz einfach so machen:

    PHP-Code:

    $endTime 
    = new Date($arrWidgets['endTime']->value$GLOBALS['TL_CONFIG']['timeFormat']); 
    Danke noch mal für deine Hilfe.

    Grüße David

  6. #6
    Contao-Nutzer
    Registriert seit
    23.04.2010.
    Beiträge
    15

    Standard

    Da ich, wie viele andere, auch das Problem mit der Datumseingabe im FE habe, könnt ihr die Lösung nochmal für "Dummies" formulieren?

    Vielen Dank im Vorraus!

  7. #7
    Contao-Nutzer
    Registriert seit
    08.10.2010.
    Beiträge
    6

    Standard

    Hallo sga,

    ich versuche es mal^^ Wenn ich es nicht schaffe, dir das näher zu bringen, dann kannst du mir auch gerne ein Szenario nennen. Vielleicht hilft das dann weiter.

    Ich geh nun mal davon aus, dass man mit Frontend Formularen umgehen kann. In meinem Array $arrWidgets sind die Felder meines Formulars und deren Daten.

    Mit folgenden Zeilen greife ich nun auf den Inhalt des Feldes namens "endTime"

    PHP-Code:
    $timeString $arrWidgets['endTime']->value
    Als ergebnis bekomme ich z.B. "08:00". Unsere Tabelle speichert aber nur Timestamps. Also ist der nächste Schritt den String in Timestamp zu transformieren. Das Problem hierbei ist ja, dass die Formatierung von der Zeit (vorallem von Datum) sich von Sprach zu Sprache unterscheidet. Wie sicherlich bekannt, kann man die Formatierungen von Zeit und Datum im Backend einstellen.

    Auf die Formatierung kann man folgendermaßen zugreifen:

    PHP-Code:
    $GLOBALS['TL_CONFIG']['timeFormat'// für Zeit
    $GLOBALS['TL_CONFIG']['dateFormat'// für Datum 
    In Contao existiert eine Klasse namens Date, was das Arbeiten mit Zeit/Datum um einiges erleichtert. Wir erstellen nun ein Objekt der Klasse und füllen diese mit dem String und die Formatierung. So z.B.:

    PHP-Code:
    $dateObjekt = new Date($timeString$GLOBALS['TL_CONFIG']['timeFormat']); 
    Der Zweite Parameter (Format) ist wichtig, da sonst Contao bzw. das Date objekt nicht weiß, wie er diesen String verarbeiten soll. Ob im String eine Zeit oder ein Datum steht. (Als standard wird das date Format genommen.)

    Da wir nun ein Date Objekt haben, dass wir mit unsere Zeit gefüttert haben, wollen wir nun zum schluß den Timestamp ermitteln. Dies macht man ganz einfach so:

    PHP-Code:
    $timestamp $dateObjekt->tstamp
    Diesen Timestamp könnt ihr dann in die DB speichern. Gegebenfalls vorher mit dem Datum synchronisieren. (ich weiß nicht, ob es überhaupt nötig ist, hab es nicht ohne synchronisation ausprobiert^^)

    Ich hoffe ich hab es Anschaulich und Verständlich erklärt.

    Grüße David

  8. #8
    Contao-Nutzer
    Registriert seit
    08.10.2010.
    Beiträge
    6

    Standard

    Ach übrigends:

    Das Modul um im Frontend Events einzutragen, ist fertig. Es wurde aber für einen Kunden zugeschnitten. Wenn interesse besteht, dann würde ich es verallgemeinern (mehr optionen usw.) und dann zu verfügung stellen.

    Grüße David

  9. #9
    Contao-Nutzer
    Registriert seit
    26.10.2010.
    Beiträge
    6

    Standard

    Zitat Zitat von dbadura Beitrag anzeigen
    Ach übrigends:

    Das Modul um im Frontend Events einzutragen, ist fertig. Es wurde aber für einen Kunden zugeschnitten. Wenn interesse besteht, dann würde ich es verallgemeinern (mehr optionen usw.) und dann zu verfügung stellen.

    Grüße David
    Interesse!!! Wäre mir echt eine super Hilfe. Vielen Dank für deine Arbeit vorab.

  10. #10
    Contao-Nutzer
    Registriert seit
    08.10.2010.
    Beiträge
    6

    Standard

    Hallo PaM,

    ich werde versuchen am Wochenende das Modul fertig zu stellen.

    Grüße
    David

  11. #11
    Contao-Nutzer
    Registriert seit
    20.06.2009.
    Ort
    Rheinbach
    Beiträge
    86

    Standard

    Cool ich könnte auch so ein Modul gebrauchen.

  12. #12
    Contao-Nutzer
    Registriert seit
    26.10.2010.
    Beiträge
    6

    Standard

    Zitat Zitat von dbadura Beitrag anzeigen
    Hallo PaM,

    ich werde versuchen am Wochenende das Modul fertig zu stellen.

    Grüße
    David
    Super!!! Vielen Dank. Freue mich schon auf den ersten Einsatz.

  13. #13
    Contao-Nutzer
    Registriert seit
    17.09.2009.
    Beiträge
    1

    Standard

    Hallo,

    gibt es schon etwas neues zu dem Modul? Wenn ja, wo finde ich es?

    MfG
    Ronny

  14. #14
    Contao-Nutzer
    Registriert seit
    25.05.2010.
    Beiträge
    75

    Standard

    wow. hört sich super an. gibt sicher grosses interesse an diesem modul. wie siehts den jetzt damit aus?

    lg

  15. #15
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Hallo!

    Ist aus diesem Modul eigentlich etwas geworden?
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Datum Eingabe d.m.Y / Speichern Unix
    Von Ricks im Forum Formulare
    Antworten: 5
    Letzter Beitrag: 28.04.2011, 16:36
  2. Maximal execution time
    Von TLight im Forum xtmembers
    Antworten: 20
    Letzter Beitrag: 12.12.2010, 11:37
  3. TL unter Unix/Linux: Symlinks richtig nutzen
    Von icecube_cpt im Forum Installation / Update
    Antworten: 3
    Letzter Beitrag: 01.04.2010, 15:55
  4. TYPOlight Hosting bei ECS-Webhosting [Unix Host]
    Von jt_de im Forum Erfahrungen mit Webhostern
    Antworten: 0
    Letzter Beitrag: 05.02.2010, 21:20
  5. Frage zu Kommentar-Funktion -- erledigt
    Von Pellinger im Forum Nachrichten/Events/FAQ
    Antworten: 3
    Letzter Beitrag: 13.10.2009, 10:44

Lesezeichen

Lesezeichen

Berechtigungen

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