PHP Zeit
Hi,
ich hab gerade ein Problem. Ich will bei PHP mit Zeit rechnen und es dann in eine MySQL Tabelle speichern. Zum Beispiel aktulle Datum + 5 Tage. Das mach ich gerade so:
$date1 = date("y-");
$date2 = date("m-");
$date3 = date("d")+ $row['dauer'];
$date4 = date(" H:i:s");
$date = $date1 . $date2 . $date3 . $date4;
$sql = "INSERT INTO
work
SET
username = '".$user['ID']."',
name = '" . $_GET['mission'] . "',
bis = '" . $date . "'";
mysql_query($sql) OR die(mysql_error());
Das Problem ist das wenn ich den 28. habe und das + 5 rechne kommt 32 raus. Den Tag gibt es aber logischer Weise nicht, also schreibt php in die Tabelle 0000-00-00. Wie macht man das eigendlich ich hab nix gefunden!!! Bin in PHP noch nich der PRO!!!
Danke im vorraus!!!
ich hab gerade ein Problem. Ich will bei PHP mit Zeit rechnen und es dann in eine MySQL Tabelle speichern. Zum Beispiel aktulle Datum + 5 Tage. Das mach ich gerade so:
$date1 = date("y-");
$date2 = date("m-");
$date3 = date("d")+ $row['dauer'];
$date4 = date(" H:i:s");
$date = $date1 . $date2 . $date3 . $date4;
$sql = "INSERT INTO
work
SET
username = '".$user['ID']."',
name = '" . $_GET['mission'] . "',
bis = '" . $date . "'";
mysql_query($sql) OR die(mysql_error());
Das Problem ist das wenn ich den 28. habe und das + 5 rechne kommt 32 raus. Den Tag gibt es aber logischer Weise nicht, also schreibt php in die Tabelle 0000-00-00. Wie macht man das eigendlich ich hab nix gefunden!!! Bin in PHP noch nich der PRO!!!
Danke im vorraus!!!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 29039
Url: https://administrator.de/contentid/29039
Ausgedruckt am: 22.11.2024 um 03:11 Uhr
10 Kommentare
Neuester Kommentar
Moin.
mach es doch wie folgt:
$time = mktime()+(60*60*24*5); // Timestap von UNIX + (Sec*Min*Std*Tage)
$datum = date("d.m.Y");
Damit hast du kein Problem bei Monats oder Jahreswechsel. Habe leider grade nicht die Möglichkeit zu testen ob es so richtig ist. Müsste aber. Ansonsten schau dich mal hier um:
http://www.php.net/manual/de/function.mktime.php
mach es doch wie folgt:
$time = mktime()+(60*60*24*5); // Timestap von UNIX + (Sec*Min*Std*Tage)
$datum = date("d.m.Y");
Damit hast du kein Problem bei Monats oder Jahreswechsel. Habe leider grade nicht die Möglichkeit zu testen ob es so richtig ist. Müsste aber. Ansonsten schau dich mal hier um:
http://www.php.net/manual/de/function.mktime.php
Hallo,
wenn ich ein Datumsfeld in einem Integerfeld speichern muss ist da irgendetwas falsch.
MySQL hat genügend (und meiner Meinung nach bessere) Zeitfunktionen als PHP.
Ich empfehle dir mal einen Blick in die Dokumentation :
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
Besonders DATE_ADD() sollte dir dann gefallen.
Gruß
Andi
wenn ich ein Datumsfeld in einem Integerfeld speichern muss ist da irgendetwas falsch.
MySQL hat genügend (und meiner Meinung nach bessere) Zeitfunktionen als PHP.
Ich empfehle dir mal einen Blick in die Dokumentation :
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
Besonders DATE_ADD() sollte dir dann gefallen.
Gruß
Andi
Hallo,
naja Schrottie, lol ?
Abgesehen davon, das da CHAR(10) sinvoller wäre als VARCHAR(10)
Für was gibt es in MySQL Datentypen wie:
- DATE
- DATETIME
- YEAR
- TIME
- TIMESTAMP
?
naja Schrottie, lol ?
Abgesehen davon, das da CHAR(10) sinvoller wäre als VARCHAR(10)
Für was gibt es in MySQL Datentypen wie:
- DATE
- DATETIME
- YEAR
- TIME
- TIMESTAMP
?
Hi,
eine Liste findest du auf :
http://dev.mysql.com/doc/refman/4.0/de/date-and-time-functions.html
also dann in deinem Bsp
$sql_update = "UPDATE tbl SET time = DATE_ADD(time, INTERVAL xbeliebige MINUTE) WHERE id = $richtige_id";
Gruß
Andi
eine Liste findest du auf :
http://dev.mysql.com/doc/refman/4.0/de/date-and-time-functions.html
also dann in deinem Bsp
$sql_update = "UPDATE tbl SET time = DATE_ADD(time, INTERVAL xbeliebige MINUTE) WHERE id = $richtige_id";
Gruß
Andi