php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.08.2008, 16:06  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard [Erledigt] Wie speichere ich Datum/Zeit

Irgendwie hab ich grade ne partielle Gehirnverkalkung...

ich hab ein Tabellenfeld datum mit datetime definiert. Wenn ich da das aktuelle Datum reinbeamen will, dann mache ich:

$sql = "UPDATE tbl SET datum = now()";
Das funktioniert ja immer.

Aber:
Jetzt hab ich hier ein mit Feld $datum als timestamp:
$datum = mktime(13,0,0,8,20,200;

Mit $sql = "UPDATE tbl SET datum = $datum" krieg ich aber eher Unsinn in die tbl.

Muss ich eine Zuordnung machen wie zB:
$sql = "UPDATE tbl SET datum = '2008-08-20 13:00:00'";

Oder kriege ich den timestamp auch rein?
Wolla ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.08.2008, 16:10  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

UNIX-Timestamps kannst du in einem INT-Feld speichern. Bei einem DATETIME-Feld wird das eher schlecht.
Ich würde sowieso komplett mit UNIX-Timestamps arbeiten. Aber wenn du MySQL-Timestamps benutzen willst, gibt es in MySQL noch die Funktion FROM_UNIXTIME(), die dir einen UNIX-Timestamp in die MySQL-Entsprechung umwandelt.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 26.08.2008, 16:13  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Wenn dein `datum` in deiner Tabelle vom Typ DATETIME ist, musst du deinen Unix-Timestamp vorher umwandeln (also nicht mktime benutzen bzw. eben dein Datum zurück formatieren oder richtig formatieren).

falls dein `datum` in deiner Tabelle vom Typ Varchar oder Int ist, kannst du das auch anstatt NOW() mit UNIX_TIMESTAMP() in die Tabelle eintragen, falls es der zur Eintragung aktuelle Zeitstempel sein soll.

Was bedeutet Unsinn?

Also wie gesagt, nicht als Timestamp formatieren sondern als normale DATETIME oder evtl gibt es auch eine Funktion in MySQL

Edith meint:
Da war ich zu langsam
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Alt 26.08.2008, 16:14  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Ich war schneller!
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 26.08.2008, 16:17  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Aber das mit FROM_UNIXTIME() ist ein super Tipp, danke

Code:
mysql> SELECT FROM_UNIXTIME(1196440219);
        -> '2007-11-30 10:30:19'
Das kannte ich noch gar nicht, aber ich speicher eh alle Zeiten als (Unix-)Zeitstempel. Macht der Bequemlichkeit

Und andersrum:

Code:
mysql> SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
        -> 1196440219


Edith:

Manko hat Recht

drum: Die Bezeichnung Zeitstempel ist in diesem Beitrag als Unixzeitstempel anzusehen
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)

Geändert von PsychoEagle (26.08.2008 um 16:25 Uhr).
PsychoEagle ist offline  
Alt 26.08.2008, 16:19  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

2007-11-30 10:30:19 ist auch ein Zeitstempel, aber eben einer anderer Art.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 26.08.2008, 16:31  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Manko10 Beitrag anzeigen
Ich würde sowieso komplett mit UNIX-Timestamps arbeiten.
Davon würde ich sehr abraten. Die musst du, um mit den Datums-Zeit-Funktionen von MySQL (die viel mehr können, als diejenigen von PHP) immer zuerst umwandeln. Ich benutze diese manchmal sogar für Datumsberechnungen von Daten, die gar nichts mit der DB zu tun haben.
Ausserdem kommen die Unix-Timestamps nicht mit Daten vor 1970 zurecht (ich weiss, hier sind alle jünger, aber trotzdem). Und MySQL (und alle DB-System) kennen nicht ohne Grund einen Datums- und Zeit-Datentyp.
__________________
Gruss
L
lazydog ist offline  
Alt 26.08.2008, 16:36  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Nagut, da hast du natürlich recht.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 26.08.2008, 16:53  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Dankefein - das war mir noch nicht begegnet.
Ich hab in einer Verarbeitung zufällig das Datum im timestamp-Format vorliegen und dachte mir schon, dass man das irgendwie direkt benutzen kann.

Die MySql-Formate mag ich irgendwie lieber, weil man sie in PMA sofort lesen kann.
Wolla ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
wohin speichere ich das script? Dilandau Datenbanken 2 15.10.2005 17:25
wie speichere ich eine ip beim login? annaloga PHP Tipps 2005-2 23 14.10.2005 17:10
Zahl --> Datum/Zeit CHRIS Datenbanken 11 17.07.2005 22:19
Wie speichere ich Variabeln dauerhaft? PHP Tipps 2004 2 29.07.2004 20:33


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:54 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum