Tom: Zeitangabe formatieren

Hallo!

Ich möchte eine Zeitangabe in diesem Format formatieren:

20030321105347 (Jahr_Monat_Tag_Stunde_Minute_Sekunde)

Ich habe das mit strftime() versucht, "echo strftime("%d.%m.%Y, %H:%M Uhr", "20030321105347");" gibt aber immer "19.01.2038, 04:14 Uhr" aus. Ich habe auch schon "hereusgefunden", daß das Format hierfür in Sekunden seit 01.01.1970 um 00:00:00 Uhr sein muß.

Gibt es eine Möglichkeit, die oben genannte Zeitangabe zu Formatieren?

Danke! Tom

P.S.: Die Zeit-Angabe ist nicht in einer MySQL-DB, so daß ich es nicht mit DATE_FORMAT machen kann.

  1. Ich möchte eine Zeitangabe in diesem Format formatieren:

    20030321105347 (Jahr_Monat_Tag_Stunde_Minute_Sekunde)

    Ich habe das mit strftime() versucht, "echo strftime("%d.%m.%Y, %H:%M Uhr", "20030321105347");" gibt aber immer "19.01.2038, 04:14 Uhr" aus. Ich habe auch schon "hereusgefunden", daß das Format hierfür in Sekunden seit 01.01.1970 um 00:00:00 Uhr sein muß.

    Gibt es eine Möglichkeit, die oben genannte Zeitangabe zu Formatieren?

    In PHP sind Texte und Zahlen gewissermaßen eins, so daß Du auf Deine Zeitangabe auch die Textfunktionen (Neudeutsch: String) anwenden kannst. Im Kapitel "String functions" findest Du eine Funktion, mit der Du Teile an Hand von Startposition und Länge aus einem Text auslesen kannst. Zerlege damit Deine Zeitangabe in ihre Komponenten.

    Je nachdem, was Du noch vor hast, kannst Du die Einzelteile anschließend entweder direkt ausgeben oder aber an mktime() verfüttern, um daraus besagte Unix-Zeit zu machen.

    Gruß,
      soenk.e

    1. Hallo!

      In PHP sind Texte und Zahlen gewissermaßen eins, so daß Du auf Deine Zeitangabe auch die Textfunktionen (Neudeutsch: String) anwenden kannst. Im Kapitel "String functions" findest Du eine Funktion, mit der Du Teile an Hand von Startposition und Länge aus einem Text auslesen kannst. Zerlege damit Deine Zeitangabe in ihre Komponenten.

      Ja, das weiß ich schon... dachte, es gäbe vielleicht eine Möglichkeit, das einfacher zu machen...

      Trotzdem Danke!

      Tom

  2. Hi,

    Gibt es eine Möglichkeit, die oben genannte Zeitangabe zu Formatieren?

    mach aus dem (aus jeder außer der Deinen Sicht) willkürlichen String erst mal etwas, das auch verstanden werden kann. Parse also den String; extrahiere die einzelnen Elemente, um sie in eine Funktion füttern zu können.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo!

      mach aus dem (aus jeder außer der Deinen Sicht) willkürlichen String...

      Immerhin macht das MySQL mit TIMESTAMP auch so, oder?

      Tom

      1. Hi,

        mach aus dem (aus jeder außer der Deinen Sicht) willkürlichen String...
        Immerhin macht das MySQL mit TIMESTAMP auch so, oder?

        na gut: aus jeder bis auf der Deinen und der von MySQL - einen entsprechenden Datentyp vorausgesetzt - Sicht. Da Du bereits sagtest, dass MySQL nicht im Spiel ist, hielt ich dieser Verkomplizierung des Satzbaus für unnötig.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo!

          Na gut, ich werde mich mit der Zeitrechnung "Sekunden seit Beginn der Unix-Epoche" anfreunden...

          Aber nur mal interessehalber:
          Was macht man bei Zeitangaben vor Beginn der Unix-Epoche? Gibt's da so was wie "315360000 v. U."?

          Tom

          1. Hi,

            Was macht man bei Zeitangaben vor Beginn der Unix-Epoche?

            wenn das von Dir verwendete System es akzeptiert, nimmt man negative Zahlen. Steht übrigens in der Doku, dass die Epoche nach Unix-Definition gilt, oder hast Du das einfach nur vorausgesetzt?

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Hallo!

              Steht übrigens in der Doku, dass die Epoche nach Unix-Definition gilt, oder hast Du das einfach nur vorausgesetzt?

              Hab ich hier gelesen: http://www.selfphp.info/funktionsreferenz/datums_und_zeit_funktionen/time.php

              Tom