timestamp und datetime

Mike
hi zusammen


ich hab ein problem. Ich habe eine vorgegebe Datenbank mit einem datetime. jetzt muss ich herausfinden, wann 2 Tage vergangen sind. Gibt es eine möglichkeit einen datetime in einen Unix-Timestamp zu verwandeln und dann damit zu rechnen?

danke für eure Antwort
mike
tkshorty
select UNIX_TIMESTAMP(datum) datum1 from...

datum natürlich noch durch den richtigen spaltennamen und ersetzen
datum1 ist nur ein aliasname
vapor
Ich glaube nicht das ihm das viel hilft...
(^^ für mich steht da nur quatsch :rolleyessmile

Damit sollte dir geholfen sein.. Augenzwinkern

code:
1:
2:
3:
4:
5:
6:
$db->query_db("SELECT
                   *
               FROM
                   `foobar`
               WHERE
                   $now-date>172800");

(Query zur Datenbank ist nach Struktur meiner db-Klasse. Eigentliches query nach MySQL-Standart)

172800 Sekunden => 48 Std.

Ansonsten:
www.mysql.com
www.php.net
tkshorty
oh
hatte nur auf das mit dem umwandeln zu timestamp gelesen.

aber vapor hat auch net ganz recht. da du mit datum/zeit arbeitest musst du die anzahl der tage und nicht der sekunden angeben.

und das $now kannst du durch current_date erstzen. das kennt sql und du musst net erst das datum durch ne php variable übergeben.

@vapor
das ist nur die umwandlung von einer zahl im date format in unix timestamp und damit mans besser ansprechen kann wirds noch einem alias namen zugewiesen.
vapor
Zitat:
Original von tkshortyaber vapor hat auch net ganz recht. da du mit datum/zeit arbeitest musst du die anzahl der tage und nicht der sekunden angeben.


Wie willst du denn "nur" Tage angeben? Afaik muss man das in Sekunden angeben !
tkshorty
hab das hier in ner tabelle stehen

id | datum
78 | 2004-10-23
79 | 2004-10-30
80 | 2004-10-31
81 | 2004-11-06
82 | 2004-11-06
83 | 2004-11-06


und mit der abfrage:
select id, (current_date-datum) datum_div from tabelle

kommt das hier raus

id | datum_div
78 | -9
79 | -16
80 | -17
81 | -92
82 | -92
83 | -92

da der 23. genau in 9 tagen ist bin ich der meinung das man tage angeben muss.
also >=2 statt >172800

dafür müsste man das ganze erst in timestamp umwandeln was hier aber eigentlich net nötig is
vapor
Der Unixtimestamp sieht z.B. so aus:
1093895957

Alles andere ist kein(!) Unixtimestamp, und danach wurde gefragt.
Wenn d von dem was abziehen willst, dann in Sekunden, da dies die Standart-Einheit ist.
tkshorty
ja dafür war ja mein erster post gedacht.
mike hat nämlich das datum im datentyp date gespeichert. also muss er das entweder erst umwandeln mit UNIX_TIMESTAMP(datum) oder er macht es einfach mit 2

ich glaube wir reden die ganze zeit etwas aneinander vorbei
vapor
Jetzt hab ich verstanden was du meinst Augenzwinkern

Der Ordnung halber wegen sollte er es machen wie ich vorgeschlagen, da er so den Überblick behält.

Mit dem ganzen Umwandeln wird man verrückt..