| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Geiseltaler Mitglied

|
Timestamp in Datum umwandeln Problem |
|
|
Hallo zusammen ich hoffe mir kann jemand weiterhelfen.
Ich habe folgendes Problem:
ein Timestamp im bekannten Format 1271592000 (ergibt: Sonntag, 18.04.2010 - 14:00:00) soll in das Datum umgewandelt werden.
Soweit funktioniert das mit folgendem Code, wenn ich den Timestamp direkt in den Code schreibe
| PHP-Code: | 1 2 3 4
| <?php
$weekday = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
echo $weekday[date("w", 1271592000)].", ".date("d.m.Y - H:i:s", 1271592000)
?> |
Nun habe ich aber diesen Timestamp in einer Variablen $vorhers[22], und da liegt der Hund in der Hütte und tut nix mehr
Sobald ich die Variable anstelle des Timestamp eingebe dann komme ich auf Donnerstag, 01.01.1970 - 01:00:00
Der Code sieht dann so aus:
| PHP-Code: | 1 2 3 4
| <?php
$weekday = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
echo $weekday[date("w", $vorhers[22])].", ".date("d.m.Y - H:i:s", $vorhers[22])
?> |
Auch die Arrayvariable in eine Variable ohne [] umwandeln und einfügen bringt mich nur nach 1970, siehe hier:
| PHP-Code: | 1 2 3 4 5
| <?php
$weekday = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
$zeit = $vorhers[22];
echo $weekday[date("w", $zeit)].", ".date("d.m.Y - H:i:s", $zeit)
?> |
Auch das PHP-Manual ist mir nicht wirklich eine Hilfe gewesen und xxx andere PHP Seiten wissen auch nicht weiter.
Was mache ich falsch, oder was muss ich anders machen damit es funktioniert. Sitze schon 2 Tage und habe etwa 400 graue Haare mehr Ich weiß ihr seid besser als alle anderen und meine letzte Rettung vor der goldenen Kugel
Danke im Vorraus |
_________________
http://www.im-geiseltal.de
oder:
http://www.homepage.familie-pforte.de
Ich frage was ich nicht weiß, auch wenn die Fragen nicht immer bequem sind. Denn es gibt doch keine dummen Fragen ....! |
|
|
| 17 Apr 2010 21:03 |
|
  |
Werner Homepage-Total.de Moderator

|
 |
|
|
Hat $vorhers[22] auch den richtigen Wert?
Prüfe mit echo $vorhers[22];
| PHP-Code: | 1 2 3 4 5 6 7 8
| <?php
$vorhers[22] = 1271592000;
echo $vorhers[22];
$weekday = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
echo $weekday[date("w", $vorhers[22])].", ".date("d.m.Y - H:i:s", $vorhers[22])
?> |
Wenn $vorhers[22] den Wert 0 hat,
kommt "Donnerstag, 01.01.1970 - 01:00:00" dabei heraus. |
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 18 Apr 2010 21:40 |
|
 |
Geiseltaler Mitglied

|
 |
|
|
Hallo Werner,
ja das habe ich geprüft, mit echo $vorhers[22] kommt das richtige Ergebnis raus.
Das ist ja das verrückte  |
_________________
http://www.im-geiseltal.de
oder:
http://www.homepage.familie-pforte.de
Ich frage was ich nicht weiß, auch wenn die Fragen nicht immer bequem sind. Denn es gibt doch keine dummen Fragen ....! |
|
|
| 18 Apr 2010 21:51 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
Befinden sich irgendwelche Sonderzeichen in der Variable?
| Code: | $vorhers[22] = trim($vorhers[22]); |
|
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 18 Apr 2010 22:30 |
|
 |
Geiseltaler Mitglied

|
 |
|
|
nein Werner ... die hab ich schon rausgefilter.
Sonderzeichen, Umbrüche, Leerzeichen alles weg.
ich hab mit echo... nur den reinen Timestamp 1271592000 nix davor, dahinter oder dazwischen
sag ja meine grauen Haare wachsen und wachsen [/b] |
_________________
http://www.im-geiseltal.de
oder:
http://www.homepage.familie-pforte.de
Ich frage was ich nicht weiß, auch wenn die Fragen nicht immer bequem sind. Denn es gibt doch keine dummen Fragen ....! |
|
|
| 18 Apr 2010 22:41 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
Im Moment sehe ich nur gelbe Haare (Sonnenblume)
Etwas mehr Quelltext wäre hilfreich.
Kommt der Wert von $vorhers[22] aus einer Datenbank? |
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 18 Apr 2010 23:00 |
|
 |
Geiseltaler Mitglied

|
 |
|
|
ich muss das Sonnenblumenbild ändern dann siehst nur noch grau.
nein die Variable kommt aus einen RSS für eine Wettervorhersage. Ich werde aus den knapp 400 Zeilen mal das herausnehmen was diesen blöden Timestamp betrifft und hier rein kopieren damit du nicht auch noch grau wirst. Und wenn wir dann kein Ergebnis bekommen dann rechne ich den aktuellen Tages Timestamp + 86400 = folgender Tag und so weiter und setze das dann in die entsprechenden Wochentage um.
Das habe ich auch schon getestet aus Verzweiflung ... das klappt Obwohl mich das schon reizt den Fehler zu finden :grrrrrrrrrrrrrrrrrrrrrr:
Hier der Code für diesen Timestamp
| PHP-Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <?php
$datei = "http://rss.wunderground.com/auto/rss_full/global/stations/10466.xml";
$vzeile = file("$datei");
$vzeile = str_replace(".","|",$vzeile);
$vzeile = str_replace(":","|",$vzeile);
$vzeile = str_replace(" &deg; ","°",$vzeile);
$vtext= "$vzeile[30]$vzeile[39]$vzeile[48]$vzeile[57]$vzeile[66]$vzeile[75]$vzeile[33]|$vzeile[42]|$vzeile[51]|$vzeile[60]|$vzeile[69]|$vzeile[78]";
$vtext = str_replace(" ","",$vtext);
$vtext = str_replace(" ","",$vtext);
$vtext = str_replace("-1-day","",$vtext);
$vtext = str_replace("-1-night","",$vtext);
$vtext = str_replace("-2-day","",$vtext);
$vtext = str_replace("-2-night","",$vtext);
$vtext = str_replace("-3-day","",$vtext);
$vtext = str_replace("-3-night","",$vtext);
$vtext = str_replace("\r","",$vtext);
$vtext = str_replace("\n","",$vtext);
$vorhers = explode("|", $vtext);
//.....
//....
//....
$weekday = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
echo $weekday[date("w", $vorhers[22])].", ".date("d.m.Y - H:i:s", $vorhers[22])
?> |
Alle anderen Variablen kann ich 1A auslesen und weiter verarbeiten.
Ich hab den ganzen Quark mit Bildern ersetzen und englische Begriffe in deutsches Wetter um schreiben rausgenommen damit es übersichtlicher wird. Wenn du dir meine Tests ansehen willst findest du sie unter
http://www.im-geiseltal.de/wetter/
Alles für private Seitenbetreiber rund um den Geiseltalsee und weil man sich sonst nix gönnt
Wie gesagt wenn du auch nicht weiter kommst schreib einfach abbruch und ich nehme Notlösung 2
| PHP-Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?php
$tag = date(d);
$monat = date(m);
$jahr = date(Y);
$weekday = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
$timestamp = mktime(14,0,0,$monat,$tag,$jahr);
$morgen = $timestamp + 86400;
$uebmorgen = $morgen + 86400;
$day1 = $weekday[date("w", $timestamp)];
$day2 = $weekday[date("w", $morgen)];
$day3 = $weekday[date("w", $uebmorgen)];
echo $day1;
echo $day2;
echo $day3;
?> |
Ist nicht so genau wie aus dem Feed aber bringt mich zur Not auch dahin und funktioniert bestens habs eben getestet wärend wir hier gepostet haben |
_________________
http://www.im-geiseltal.de
oder:
http://www.homepage.familie-pforte.de
Ich frage was ich nicht weiß, auch wenn die Fragen nicht immer bequem sind. Denn es gibt doch keine dummen Fragen ....! |
|
|
| 18 Apr 2010 23:21 |
|
 |
Werner Homepage-Total.de Moderator

|
|
| 19 Apr 2010 20:06 |
|
 |
Geiseltaler Mitglied

|
 |
|
|
Man sollte eben nie sagen man hat alles getan
ich war mir sicher das ich alles raus gefiltert hatte und habe auch wirklich nach 4 Tagen an diesem Ding, nicht mehr nach dem Quelltext geschaut.
Ich weiß das ist eigentlich ein grober Anfängerfehler.
Wie kann ich das wieder gut machen ???? Ich schäme mich ja schon fast für soviel Blödheit von mir.
Ich danke dir 1000 Mal für deine Mühe
Jetzt gehe ich meine Haare färben
Nachtrag für alle:
Die Notlösung2 von mir funktioniert auch, so habe ich wenigstens nebenbei einen kleinen Erfolg
Hier der Code:
| PHP-Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php
$weekday = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
$timestamp = time() ;
$morgen = $timestamp + 86400;
$uebmorgen = $morgen + 86400;
$day1 = $weekday[date("w", $timestamp)];
$day2 = $weekday[date("w", $morgen)];
$day3 = $weekday[date("w", $uebmorgen)];
echo $day1;
echo $day2;
echo $day3;
?> |
|
_________________
http://www.im-geiseltal.de
oder:
http://www.homepage.familie-pforte.de
Ich frage was ich nicht weiß, auch wenn die Fragen nicht immer bequem sind. Denn es gibt doch keine dummen Fragen ....! |
|
|
| 19 Apr 2010 21:01 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
Hallo Geiseltaler, ich habe noch einen kleinen Tipp:
Damit die Rechtsschreibprüfung im Firefox nicht angezeigt wird,
kannst du bem Textarea-Tag (Wetterstation) folgendes einbauen
<textarea readonly="readonly" onFocus="this.select();">
Außerdem wird mit onFocus ... das Textarea autom. markiert. |
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 24 Apr 2010 16:56 |
|
 |
|