Komische Sache mit $time

Begonnen von Distl, 14 Dezember 2003, 10:04:54

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Distl

Moin,

also ich blicke das nicht.
Wenn ich die Zeit aus einem Script in die Datenbank übergebe, bekomme ich folgenden Wert, wobei ich nicht erkennen kann, wie das Datum zustande kommt:

Tabelle sieht so aus:

ctime` int(11) NOT NULL default '0'

Und wenn ich jetzt die Zeit übergebe, wird soetwas reingeschrieben:

1071327808

diese Zahl soll das Datum 13.Dezember 2003 wieder geben.

Versteht das einer?

jubilee

Hmmm ....
Das ist wahrscheinlich ein TimeStamp (MySQL oder Unix) .
der TimeStamp gibt die Antahl vergangener Sekunden ab einem bestimmten festgelegten Zeitpunkt an.
Der Wert ist also die Summer der Sekunden ab diesem Zeitpunkt.
Mfg
jubilee

Distl

Stimmt ist TimeStamp, heisst man kann es nicht ändern wenn mal was drin steht, sprich die Zahl.

jubilee

Hallo !
 
ZitatStimmt ist TimeStamp, heisst man kann es nicht ändern wenn mal was drin steht, sprich die Zahl.
 
Wenn du die Spalte mit einem neuen Wert versorgst, wird der alte natürlich überschrieben ....

MfG
jubilee

Distl

ZitatWenn du die Spalte mit einem neuen Wert versorgst, wird der alte natürlich überschrieben ....
 

Ja schon, aber die Frage ist wie kann ich so einen neuen Wert erzeugen ohne die DB?

jubilee

Ja nun.
Die Frage ist, was eigentlich in der Tabelle steht :
 
Zitatctime int(11) NOT NULL default '0'
 
Das ist also ein normales integer-Feld. KeinMySQL Timestamp.
Irgendetwas im Script macht aus dem hier:  
Zitat13.Dezember 2003
das hier
 
Zitat1071327808
 
Wenn wir wissen, welche Funktion das Fabriziert, dann wiesst Du auch, wie Du das reproduzieren kannst.
Mfg
jubilee
Das wird also irgendwo im Script oder in der SELECT/UPDATE/INSERT-Anweisung in die datenbank passieren.

Distl

Ich denke mal dies macht es. Habe leiden keine Ahnung wie ich das ändern kann, dass ein normales Datum eingetragen wird. Darf ich fragen warum man das so macht und nicht gleich das normale Datum einfügt?



function localised_date($timestamp = -1, $datefmt)
{
    global $lang_month, $lang_day_of_week;

    if ($timestamp == -1) {
        $timestamp = time();
    }

    $date = ereg_replace('%[aA]', $lang_day_of_week[(int)strftime('%w', $timestamp)], $datefmt);
    $date = ereg_replace('%[bB]', $lang_month[(int)strftime('%m', $timestamp)-1], $date);

    return strftime($date, $timestamp);
}

Andi

Moin :)
 
ZitatDarf ich fragen warum man das so macht und nicht gleich das normale Datum einfügt
Hmm, das ist eigentlich Geschmacksache... In PHP kann man mit einem timestamp einfacher umgehen als mit einem MySql-Datumsformat. In PHP gehen alle Datumsbrechnungen und Formatierungen von einem Timestamp aus. Ein MySql Datum müsste also immer erst konvertiert werden.
Umgekehrt sind Datumsberechnungen die man bereits in der MySql Anfrage ausführen kann, einfacher im MySql-Datumsformat zu erledigen.

Zu Deinem Problem, kann ich nicht viel sagen. Was willst Du genau machen? Ein Datum über ein Formular eingeben und dann in der Datenbank speichern?
Beschreibe mal etwas genauer, was Du vor hast...
schön´s Grüssle, Andi

Distl

Moin,

hat sich erledigt. Ich lasse es so wie es ist.
Danke.

Andi

schön´s Grüssle, Andi