Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Fragen zu Timestamp with timezone + Formatierung

  1. #1
    Darian ist offline Benutzer
    Registriert seit
    12.02.2007
    Beiträge
    40

    Standard Fragen zu Timestamp with timezone + Formatierung

    Hallo Leute,

    ich werkle gerade an einem Tagebuch, das ich für News die ich von meiner Guatemalareise aus schreibe benötige. Ich möchte die Zeit und Datum formatiert angeben. (bin noch php und postgreSql Neuling)

    Ich überlege nun wie ich es lösen soll.

    Bis jetzt habe ich es so gemacht:

    ...VALUES ('$titel', '$wetter', current_timestamp, '$eintrag')";
    so wurde die Zeit in die Datenbank rein geschrieben.
    Sieht dann zum Beispiel so aus: 2007-03-08 16:12:01+01

    Jetzt überlege ich wie ich es passend formatieren kann.
    Ich benötige die Zeit mit GMT +1 und die, die es gerade in Guatemala hat. (GMT -6)

    Wie kann man den mit to_char oder so arbeiten?
    Kann ich so wie die Zeit in der Datenbank ist, auch mit den normalen php Funktionen arbeiten? (dachte eher nicht, weil die ja mit Unix Timestamp arbeiten?)

    Soll ich es ohne PostGre Funktionen lösen, und einfach mit den Standard PHP Funktionen machen?

    Na ja, bitte helft mir ein bisschen mit eurer Erfahrung weiter.

    Danke im voraus für sinnvolle Hilfe.
    lg Darian

  2. #2
    Darian ist offline Benutzer
    Registriert seit
    12.02.2007
    Beiträge
    40

    Standard

    Hi, so wie ich das sehe funktionieren die php Befehle wie date() nicht mit den Timestamp von Postgre. Ihr könnt mich ruhig eines besseren belehren. :-)

    Entweder ich arbeite jetzt mit dem Unix Timestamp weiter, oder ich schaffe es irgendwie mit den PG Funktionen.

    Bitte um Hilfe
    lg Daniel

  3. #3
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Darian Beitrag anzeigen
    Hallo Leute,

    ich werkle gerade an einem Tagebuch, das ich für News die ich von meiner Guatemalareise aus schreibe benötige. Ich möchte die Zeit und Datum formatiert angeben. (bin noch php und postgreSql Neuling)

    Ich benötige die Zeit mit GMT +1 und die, die es gerade in Guatemala hat. (GMT -6)
    Wenn ich Google richtig parse, ist das dann 'CST':

    Code:
    test=*# select now(), now() at time zone 'cst';
                  now              |          timezone
    -------------------------------+----------------------------
     2007-03-09 18:02:52.782882+01 | 2007-03-09 11:02:52.782882
    (1 row)
    Du brauchst nur einen Wert zu speichern ;-)

    Wie kann man den mit to_char oder so arbeiten?
    Ich habe was ähnliches erst gestern, oder vorgestern, hier gezeigt.
    Hint: speichere in timestamptz. Dann kannst Du das immer in eine lokale Zeit umrechnen. Exakt dazu dient dieser Datentyp.

    Kann ich so wie die Zeit in der Datenbank ist, auch mit den normalen php Funktionen arbeiten? (dachte eher nicht, weil die ja mit Unix Timestamp arbeiten?)
    PG selbst kann mit Zeitzonen rechnen. Sehr gut sogar. Dazu brauchts keiner externen Schweinereien.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  4. #4
    Darian ist offline Benutzer
    Registriert seit
    12.02.2007
    Beiträge
    40

    Standard

    Hallo, gleich einmal danke für deine Hilfe.
    Ist mir aber nicht klar was du da meinst.

    Datentype: timestamp(0) with time zone

    PHP-Code:
    $pgsql_Befehl "INSERT INTO tagebuch (titel, wetter, datum, eintrag)
    VALUES ('
    $titel', '$wetter', current_timestamp, '$eintrag')"
    Ist das einmal richtig? ich speichere es zuerst mit current_timestamp, oder gleich irgendwie anders?

    Und warum diesen Code?

    select now(), now() at time zone 'cst';

    lg Darian
    Geändert von Darian (09.03.2007 um 19:53 Uhr)

  5. #5
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Darian Beitrag anzeigen
    Hallo, gleich einmal danke für deine Hilfe.
    Ist mir aber nicht klar was du da meinst.
    Ich meine, es reicht, eine Zeit mit Zeitzone zu speichern. Der Rest ist berechenbar.

    Code:
     
    test=# select now() at time zone 'cet';
              timezone
    ----------------------------
     2007-03-09 20:29:50.242964
    (1 row)
    
    Time: 0.703 ms
    test=*# select now() at time zone 'cst';
              timezone
    ----------------------------
     2007-03-09 13:29:50.242964
    (1 row)
    Mit anderen Worten: während wir schon müde werden, habt ihr grad Mittagsschlaf.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  6. #6
    Darian ist offline Benutzer
    Registriert seit
    12.02.2007
    Beiträge
    40

    Standard

    Und juhu, es hat funktioniert, und war ja irgendwie fast zu einfach...Danke dir!

    PHP-Code:
    $pgsql_Befehl "SELECT titel, wetter, datum, datum at time zone 'cst' as
    datumgut, eintrag FROM tagebuch"

    Aber wie kann man es nun formatieren, es ist ja schon ausgegeben? Oder jetzt doch mit php Befehlen?

    lg Darian

  7. #7
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Darian Beitrag anzeigen
    Und juhu, es hat funktioniert, und war ja irgendwie fast zu einfach...Danke dir!
    Bidde.

    Aber wie kann man es nun formatieren, es ist ja schon ausgegeben? Oder jetzt doch mit php Befehlen?
    lg Darian
    Das Handbuch widmet dieser Frage ein ganzes Kapitel:

    http://www.postgresql.org/docs/8.1/i...ormatting.html

    Wie wäre es, dies mal zu lesen?

    Hint: to_char() kann man in der select-Liste verbuddeln.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  8. #8
    Darian ist offline Benutzer
    Registriert seit
    12.02.2007
    Beiträge
    40

    Standard

    Hi,

    jap, ich habe das eh schon gelesen, war mir nur nicht sicher ob man das in den select verbuddelt oder nicht. Aber wenn es so ist, wird es wohl kein so ein großes Problem sein nehme ich an.

    Ich habe es wie normale funktionen behandelt..

    Danke für deine Hilfe...

    lg Darian

  9. #9
    Darian ist offline Benutzer
    Registriert seit
    12.02.2007
    Beiträge
    40

    Standard

    Hallo nocheinmal, habe es jetzt eigentlich ohne Probleme hin bekommen. Und so geht man mit allen Funktionen in PG um oder wie? (immer im select?)

    Danke für deine Hilfe, geht mit PG Funktionen ja wirklich sehr fein, hätte ich nicht gedacht. Da wäre man ja blöd mit UNIX Timestamp irgendwie in PHP herum zu rechnen.

    lg Darian

  10. #10
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Darian Beitrag anzeigen
    Hallo nocheinmal, habe es jetzt eigentlich ohne Probleme hin bekommen. Und so geht man mit allen Funktionen in PG um oder wie? (immer im select?)

    lg Darian
    Nein, Funktionen kannst Du auch im FROM, WHERE, ORDER etc. verwenden, und auch in UPDATE oder DELETE - Befehlen.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Frage Queries fragen
    Von hss404 im Forum Allgemeines
    Antworten: 1
    Letzter Beitrag: 10.06.2011, 08:45
  2. dumme fragen
    Von debaer im Forum Verschiedenes
    Antworten: 3
    Letzter Beitrag: 09.09.2009, 15:01
  3. Could not open directory "/share/timezone"
    Von shicorp im Forum Allgemeines
    Antworten: 6
    Letzter Beitrag: 09.05.2008, 14:01
  4. Fragen zu PG
    Von redman im Forum Allgemeines
    Antworten: 12
    Letzter Beitrag: 21.04.2008, 07:25
  5. Timezone - totale Konfusion
    Von bierstuegbl im Forum Allgemeines
    Antworten: 5
    Letzter Beitrag: 09.03.2007, 15:39

Berechtigungen

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

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum