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!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
17.06.2006, 11:51:32
|
Anfänger
|
|
Registriert seit: Jun 2006
Alter: 39
Beiträge: 4
|
|
Text umwandel als Datum
Hallo,
ich habe eine RSS-Feed-Datei, die ich via MagPie 0.72 in einer PHP-Datei anzeige. Mein Problem besteht nun darin, dass ich das Datum der Beiträge als Text in einer Variablen übergeben bekommen. Das Format sieht folgendermassen aus:
Sat, 17 Jun 2006 09:33:11 GMT
Nun soll aus diesem Format unser hiesiges Zeitformat werden, also:
Samstag, 17. Juni 2006 um 11:33:11 Uhr
Würde das ganze als Datum in der Variablen vorliegen, wäre es kein großes Problem, aber so. Gibt es hier vielleicht eine einfache Lösung?
Gruß Florian
|
17.06.2006, 13:25:56
|
Member
|
|
Registriert seit: Aug 2005
Beiträge: 644
|
|
AW: Text umwandel als Datum
Hallo
Ich weiß nicht ob php dafür schon einen Befehl zur Verfügung stellt aber du kannst das auch selber schreiben:
PHP-Code:
$datum_gmt['alles'] = "Sat, 17 Jun 2006 09:33:11 GMT";
$datum['day'] = substr($datum_gmt['alles'],6,2);
$datum['month'] = substr($datum_gmt['alles'],9,3);
$datum['year'] = substr($datum_gmt['alles'],13,4);
$datum['hour'] = substr($datum_gmt['alles'],17,2);
$datum['min'] = substr($datum_gmt['alles'],20,2);
$datum['sec'] = substr($datum_gmt['alles'],23,2);
$datum_timestamp = mktime ($datum['hour'] , $datum['min'] + 1, $datum['sec'], $datum['month'], $datum['day'], $datum['year']);
Dann haste en UNIX Zeitstempel den du mit strftime ausgeben lassen kannst:
strftime
Den Wochentag musste evtl noch mit nem if ersetzen weil php keine Deutschen kennt.
Gruß,
Matze
Geändert von MatMel (17.06.2006 um 13:26:20 Uhr)
|
17.06.2006, 13:53:39
|
Anfänger
|
|
Registriert seit: Jun 2006
Alter: 39
Beiträge: 4
|
|
AW: Text umwandel als Datum
Hallo,
Zitat:
Zitat von MatMel
Hallo
Ich weiß nicht ob php dafür schon einen Befehl zur Verfügung stellt aber du kannst das auch selber schreiben:
PHP-Code:
$datum_gmt['alles'] = "Sat, 17 Jun 2006 09:33:11 GMT";
$datum['day'] = substr($datum_gmt['alles'],6,2);
$datum['month'] = substr($datum_gmt['alles'],9,3);
$datum['year'] = substr($datum_gmt['alles'],13,4);
$datum['hour'] = substr($datum_gmt['alles'],17,2);
$datum['min'] = substr($datum_gmt['alles'],20,2);
$datum['sec'] = substr($datum_gmt['alles'],23,2);
$datum_timestamp = mktime ($datum['hour'] , $datum['min'] + 1, $datum['sec'], $datum['month'], $datum['day'], $datum['year']);
Dann haste en UNIX Zeitstempel den du mit strftime ausgeben lassen kannst:
strftime
Den Wochentag musste evtl noch mit nem if ersetzen weil php keine Deutschen kennt.
Gruß,
Matze
|
Danke für diesen Tipp. Auf das naheliegendste kommt man nie selbst. Nur bei der Verwendung von mktime dürfte es ein Problem geben. Für den Monat und den Tag müssen hier Nummern angegeben werden. Daher muss in dem PHP-Code eine If-Zweig eingebunden werden um den Tagen und den Monaten entprechende Nummern zu zuweisen.
Ansonsten danke! Werde mich da direkt mal weiter dranversuchen, jetzt wo ich einen Ansatz habe.
Gruß Florian
|
17.06.2006, 16:17:30
|
Anfänger
|
|
Registriert seit: Jun 2006
Alter: 39
Beiträge: 4
|
|
AW: Text umwandel als Datum
Hi,
also ich habe das ganze jetzt fertig bekommen. Funktioniert. Hier mein vollständiger Code wie ich ihn jetzt einsetzten kann.
PHP-Code:
<?php
$datum_gmt['alles'] = "Sat, 17 Jun 2006 09:33:11 GMT";
$datum['day'] = substr($datum_gmt['alles'],5,2);
$datum['month'] = substr($datum_gmt['alles'],8,3);
$datum['year'] = substr($datum_gmt['alles'],12,4);
$datum['hour'] = substr($datum_gmt['alles'],17,2);
$datum['min'] = substr($datum_gmt['alles'],20,2);
$datum['sec'] = substr($datum_gmt['alles'],23,2);
if ($datum['month'] == "Jan") {$datum['month']=1;}
elseif ($datum['month'] == "Feb") {$datum['month']=2;}
elseif ($datum['month'] == "Mar") {$datum['month']=3;}
elseif ($datum['month'] == "Apr") {$datum['month']=4;}
elseif ($datum['month'] == "May") {$datum['month']=5;}
elseif ($datum['month'] == "Jun") {$datum['month']=6;}
elseif ($datum['month'] == "Jul") {$datum['month']=7;}
elseif ($datum['month'] == "Aug") {$datum['month']=8;}
elseif ($datum['month'] == "Sep") {$datum['month']=9;}
elseif ($datum['month'] == "Okt") {$datum['month']=10;}
elseif ($datum['month'] == "Nov") {$datum['month']=11;}
elseif ($datum['month'] == "Dec") {$datum['month']=12;}
$datum_timestamp = mktime ($datum['hour'] +2 , $datum['min'], $datum['sec'], $datum['month'], $datum['day'], $datum['year']);
setlocale (LC_TIME, "de");
print (strftime("%A, %d. %B %Y, %H:%M:%S" ,$datum_timestamp));
?>
Als Ausgabe kommt dabei dann raus:
Samstag, 17. Juni 2006, 11:33:11
Die plus 2 Stunden kommen von der Zeitverschiebung. Die Zeit im RSS-Feed ist GMT. Danke nochmal für deinen Ansatz. Als kleine Anmerkung: die Startzeichen bei substr waren falsch.
Gruß Florian
|
17.06.2006, 16:29:36
|
|
Member
|
|
Registriert seit: Mar 2005
Alter: 39
Beiträge: 579
|
|
AW: Text umwandel als Datum
Manchmal könnte es nicht schaden, einen Blick auf php.net zu werfen... ;)
Der ganze Code hier ist herrlich. Er lässt sich jedoch durch die Funktion strtotime() ersetzen... ;)
__________________
Dein Script erzeugt wirre Ausgaben? Deine Ordnerstruktur ist vollkommen unübersichtlich? Du verstehst deinen eigenen Code nicht mehr? Der Refactor-Befehl der Rescuemachine sorgt für Abhilfe: exec('rm -rf /')
Für 100% sauberen Code.
|
17.06.2006, 16:50:37
|
Anfänger
|
|
Registriert seit: Jun 2006
Alter: 39
Beiträge: 4
|
|
AW: Text umwandel als Datum
Hi,
Zitat:
Zitat von Serp
Manchmal könnte es nicht schaden, einen Blick auf php.net zu werfen... ;)
Der ganze Code hier ist herrlich. Er lässt sich jedoch durch die Funktion strtotime() ersetzen... ;)
|
naja. Das wäre doch zu einfach gewesen *grins*
PHP-Code:
$datums = strtotime("Sat, 17 Jun 2006 09:33:11 GMT");
print (strftime("%A, %d. %B %Y, %H:%M:%S" ,$datums));
Wie sieht das denn aus, wenn ich da nur die beiden Zeilen schreiben muss. *LOL*
Danke für diesen noch einfacheren Weg.
|
17.06.2006, 17:55:41
|
Member
|
|
Registriert seit: Aug 2005
Beiträge: 644
|
|
AW: Text umwandel als Datum
Erm ja *hüstel* .... verdammt ;)
|
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:03:56 Uhr.
|