CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
27.04.2005, 17:26:32
|
|
Anfänger
|
|
Registriert seit: Apr 2005
Beiträge: 78
|
|
Auslesen und Bearbeiten von Zeitdaten
Hi Leute,
ich bin zur Zeit dabei ein ein Nachrichtentool zu programmieren, das ziemlich ähnlich wie ein Gästebuch aufgebaut ist. Ich möchte aber dabei ein formatiertes Datum und ein originales Datum aus der DB vermischen lassen.
Ich erzähle euch mal grob wie das Ding ungefähr funktioniert und was ich vorhabe, wobei ich euren Rat benötige.
In meiner GB ähnlichen Anzeige verwendie ich folgende Abfrage:
PHP-Code:
$sql = "SELECT
datum,
autor,
email,
betreff,
inhalt,
abteilung
FROM
nachr_tabelle
WHERE
abteilung = '$abt'
ORDER BY
datum DESC";
$result = mysql_query($sql) OR die(mysql_error());
while ($ds = mysql_fetch_object($result)) {
$datum = $ds ->datum;
//Hier wird ein Datum nach amerikanischer Art ausgelesen und in
//eine Variable gespeichert.
Ich habe aber nun das Datum in der Variable $datum gespeichert.(das ist auch gut so, weil ich genau DIESE Variable später nochmal benötige)
Ich will aber nicht dieses hässliche Datum Anzeigen lassen, sondern viel mehr "am xx.xx.2005 um xx:xx Uhr".
Ich weiß zwar, dass ich das in der sql-query schon so formatieren kann, aber das möchte ich nicht, weil ich das Datum ja noch in seiner natürlichen Form später benötige.
Kann ich vielleicht mit php das formatierte Datum in einer Variablen $datum_neu speichern? Vielleicht in dem ich die Variable $datum dazu verwende?
Wenn mir jemand sagen kann, wie ich das mache, dann wäre mir wirklich sehr geholfen.
Vielen Dank schonmal,
Bombe
|
27.04.2005, 17:37:27
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Auslesen und Bearbeiten von Zeitdaten
Wandel das Datum doch mit [func]strtotime()[/func] in einen UNIX-Timestamp um.
Du kannst aber natürlich das Datum auch zwei Mal aus der Datenbank lesen. Ein Mal unformatiert und ein Mal formatiert unter dem Alias datumNeu:
Code:
SELECT
datum
DATE_FORMAT(datum, '%d.%m.%Y') AS datumNeu
FROM
.
.
.
Die Formatierung per MySQL sollte dabei schneller sein.
|
27.04.2005, 17:53:36
|
|
Anfänger
|
|
Registriert seit: Apr 2005
Beiträge: 78
|
|
AW: Auslesen und Bearbeiten von Zeitdaten
Zitat:
Wandel das Datum doch mit [func]strtotime()[/func] in einen UNIX-Timestamp um.
|
das hört sich schonmal gut an! ber um das zu verstehen, reichen meine php-kenntnisse noch nicht aus. Kannste mir das mal an einem kleinen Beispiel erläutern? Also wie ich das anwenden muss.
Und UNIX-Timestamp sagt mir jetzt auch nicht wirlich was. ^^
Ich habe mal etwas auf diese Art gelesen...aber ich weiß es nicht auswendig:
PHP-Code:
$datum1 = strftime("%e.%c.%Y", $datum);
$datum2 = strftime("am .%e.%c.%Y. um .%k:%i", $datum);
//bitte nicht lachen! hab das aus dem gedächtnis geholt, obwohl
//ich schon vor 5 Tagen gelesen habe. ich weiß ne mal obs stimmt.
Ich habe auch schon darn gedacht die Daten mehrmals auszulesen, aber das will ich eigentlich nicht machen, weil ich ein Freund des Patzsparens bin.
aber trotzdem schonmal danke für die immer so schnellen antworten
|
27.04.2005, 21:41:18
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Auslesen und Bearbeiten von Zeitdaten
Zitat:
Zitat von Bombe
das hört sich schonmal gut an! ber um das zu verstehen, reichen meine php-kenntnisse noch nicht aus. Kannste mir das mal an einem kleinen Beispiel erläutern? Also wie ich das anwenden muss.
|
Nehmen wir mal an, dass du ein Datum ($datum) im Format YYYY-MM-DD geliefert bekommst. Du kannst dieses Datum nun mit [func]strtotime()[/func] in einen UNIX-Timestmap umwandeln, so dass du es anschließend mit [func]date()[/func] in ein "deutsches" Format umwandeln kannst:
PHP-Code:
<?php
$timestamp = strtotime($datum);
print date('d.m.Y', $timestamp);
?>
[quoteBombe]Und UNIX-Timestamp sagt mir jetzt auch nicht wirlich was. ^^[/quuote]
Der UNIX-Timestamp gibt die Zeit in Sekunden an, die seit dem 1.1.1970 um 0:00 Uhr bis zu einem bestimmten Datum vergangen sind.
Zitat:
Zitat von Bombe
Ich habe mal etwas auf diese Art gelesen...aber ich weiß es nicht auswendig:
PHP-Code:
$datum1 = strftime("%e.%c.%Y", $datum);
$datum2 = strftime("am .%e.%c.%Y. um .%k:%i", $datum);
|
Mit [func]strftime()[/func] kannst du ein Datum, welches als UNIX-Timestamp vorliegt, in ein bestimmtes Format bringen. Dabei sollte man allerdings die Funktion [func]setlocale()[/func] benutzen. Ansonste erfüllt die Funktion [func]date()[/func] den gleichen Zweck.
|
28.04.2005, 03:10:47
|
Junior Member
|
|
Registriert seit: Dec 2003
Ort: Wörth am Rhein
Beiträge: 347
|
|
AW: Auslesen und Bearbeiten von Zeitdaten
ich mach das wieder etwas anders und splite es so auf, funktioniert allerdings nur wenn du anstatt den timestamp mit date arbeitest. (zumindest denk ich das mal)
PHP-Code:
//$datum wird aufgesplittet nach jedem punkt, minus oder slash
$datum_n = split('[/.-]', $datum);
//zusammensetzen der aufgesplitten teile in englisches format zum speichern in die datenbank
$date1 = $datum_n['2']."-".$datum_n['1']."-".$datum_n['0'];
//zusammensetzen der aufgesplitten teile ins deutsche format zum anzeigen
$date2 = $datum_n['0']."-".$datum_n['1']."-".$datum_n['2'];
Geändert von Stifler (28.04.2005 um 03:12:02 Uhr)
|
28.04.2005, 10:45:40
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Auslesen und Bearbeiten von Zeitdaten
Zitat:
Zitat von Stifler
ich mach das wieder etwas anders und splite es so auf, funktioniert allerdings nur wenn du anstatt den timestamp mit date arbeitest. (zumindest denk ich das mal)
|
Du gehst jetzt aber davon aus, dass das Datum im Format DD.MM.YYYY vorliegt. Das DATE-Format in MySQL ist aber YYYY-MM-DD.
|
28.04.2005, 11:40:49
|
Junior Member
|
|
Registriert seit: Dec 2003
Ort: Wörth am Rhein
Beiträge: 347
|
|
AW: Auslesen und Bearbeiten von Zeitdaten
Zitat:
Du gehst jetzt aber davon aus, dass das Datum im Format DD.MM.YYYY vorliegt. Das DATE-Format in MySQL ist aber YYYY-MM-DD.
|
ne das datum kann ja genauso gut so vorliegen YYYY-MM-DD dann wird es genauso aufgesplittet und ich kann es zusammen setzen wie ich möchte. es wird ja nach nem . oder - gesplittet
Geändert von Stifler (28.04.2005 um 11:41:27 Uhr)
|
28.04.2005, 12:28:12
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Auslesen und Bearbeiten von Zeitdaten
Zitat:
Zitat von Stifler
PHP-Code:
//zusammensetzen der aufgesplitten teile in englisches format zum speichern in die datenbank
$date1 = $datum_n['2']."-".$datum_n['1']."-".$datum_n['0'];
|
Hier gehst du davon aus, dass sich das Jahr im dritten Arrayelement befindet. Das wirst du beim aufsplitten aber nur dann hinbekommen, wenn das Jahr sich im ursprünglichen Datum hinter dem zweiten Punkt/Slash/Bindestrich befindet, was dann dem deutschen Format entspricht.
|
28.04.2005, 12:40:07
|
Junior Member
|
|
Registriert seit: Dec 2003
Ort: Wörth am Rhein
Beiträge: 347
|
|
AW: Auslesen und Bearbeiten von Zeitdaten
ja klar ich muß halt schon wissen wo ich das teil einbauen, und was für ein format das datum hat bevor ich es aufsplitte und wieder zusammenfüge.
aber entweder ist es englisches oder deutsches format. wenn ich aus der db auslese ist es englisch. gibt der benutzer was ein, dann deutsch und wird dann zerstückelt ins englische
ich bin jetzt nicht davon ausgegangen das er das deutsche und englische einfügt. war vielleicht falsch dargestellt. er soll entweder das deutsche nehmen ODER das englische. beide auszuführen wäre ja blödsinn da er ja aus der db sowieso schon das englische hat und da umwandeln muß in deutsch. und vor dem speichern in der db halt wieder umwandeln in englisch wenn ein neues datum gespeichert werden soll.
war nur als beispiel gedacht das man es so oder so machen kann ;)
Geändert von Stifler (28.04.2005 um 12:41:29 Uhr)
|
28.04.2005, 12:55:07
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Auslesen und Bearbeiten von Zeitdaten
So langsam verstehe ich, was du meinst. :-) Aus deinen Beiträgen vorher hatte man eher den Eindruck bekommen, dass dein Script das Datum aus der Datenbank in ein deutsches Format konvertieren könnte. Nichts für ungut. :-)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 23:18:09 Uhr.
|