Einfaches Problem mit PHP (Datumsanzeige))

[o.0]

Lt. Commander
Registriert
Apr. 2008
Beiträge
1.059
Hallo,
ich will ein neues Gästebuch in meine Seite einbinden. Leider ist dieses auf Englisch und dementsprechend auch die Zeitangabe der einzelnen Einträge im falschen Format.

So ist es:
Monat - Tag - Jahr
So soll es sein:
Tag - Monat - Jahr

Ich hab jetzt mal rumprobiert und an diesem Stück Code sollte es liegen:

PHP:
function convert_datetime($datestamp, $format)
{

    if ($datestamp!=0) {

        list($date, $time)=split(" ", $datestamp);

        list($year, $month, $day)=split("-", $date);

        list($hour, $minute, $second)=split(":", $time);

        $stampeddate=mktime($hour,$minute,$second,$day,$month,$year);

        $datestamp=date($format,$stampeddate);

        return $datestamp;
    }

Was muss ich da ändern damit es funktioniert?

Wäre es auserdem eventuell möglich das das Script anstatt zb "May" oder "January" eben auch "Mai" und "Januar" anzeigt?

Vielen Dank schon mal..

[o.0]
 
Hey, bin ein Newbie im prgrammieren, mache dies in der schule erst seit nem jahr,
aber müsste es nicht heißen

$stampeddate=mktime($time,$date); ???
Hast diese doch schon vorher gebunden ... :-S

Bei das mit januar bin ich mir sicher, das du ein verfahren machen kannst, mit dem January einfach mit januar getauscht wird..befehle sind mir elider nicht im kopf, aber dieses verfahren benutzen sehr viele seiten, um die Ö's, Ä's und Ü's zu ändern in oe's, ae's und ue's...
googeln :-S
 
@Nitschi66: Ein Blick in die PHP-Funktionsreferenz zu mktime kannst du dir nicht zumuten, aber andere auf Google verweisen... nicht schlecht...

Edit: Wegen den Monaten...
das kannst du einfach via eines str_replace machen...
 
Zuletzt bearbeitet:
Das mit dem
$stampeddate=mktime($time,$date);
hab ich versucht.. jetzt zeigt die Seite "May 4 2008" an =(^^

Und ich bin absoluter n00b dabei.. ich kann zwar HTML und CSS ganz gut sowie ein bischen Java aber PHP kann ich wirklich kein Stück.

k thx, wenn das erste Problem gelöst ist schau ich mal danach. =]
 
wasn daran so schwer? (date mit timestamp)
echo date("d-m-y");
auf deutsch: änder die zeile
$datestamp=date($format,$stampeddate);
in die zeile um
$datestamp=date("d-m-y",$stampeddate);
hier nochn link zu date
http://www.php-resource.de/handbuch/function.date.htm
damit kannste eigentlich alle möglichen formate wähle wie du sie magst

und dann kannste noch diese zeile davor schreiben, und es wird dir deutsch ausgegeben
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
 
Zuletzt bearbeitet:
PHP:
mktime($hour,$minute,$second,$day,$month,$year);

da hängts wohl, denn da is bei php:
PHP:
int mktime ( [int $Stunde [, int $Minute [, int $Sekunde [, int $Monat [, int $Tag [, int $Jahr [, int $is_dst]]]]]]] )

also monat und tag vertauschen
 
Zuletzt bearbeitet:
@fi**en32:

Naja jetzt zeigts "05-01-08" an..^^ Also Tag und Monat immer noch vertauscht. Mit der Anzeige des Monats als Zahl könnte ich allerdings Leben.

Und was daran so schwer ist? Ich hab noch nie was mit PHP gemacht, deswegen keine Ahnung..

@CrazyWolf:

Was heist das für mich? Was muss ich konkret wo verändern? Wie gesagt, ich habe wirklich keinerlei Erfahrung damit..

Edit: Vielen vielen Dank, habs jetzt begriffen und geht jetzt auch =D
 
Zuletzt bearbeitet:
mach aus:

PHP:
$stampeddate=mktime($hour,$minute,$second,$day,$month,$year);

das:

PHP:
$stampeddate=mktime($hour,$minute,$second,$month,$day,$year);

dann sollte das Datum stimmen.
 
date("d-m-y",$stampeddate);

sagt aber Day Month Year, also sollte eigentlich jetzt tag-monat-jahr kommen. wenn du es als monat brauchst machste d-F-y

und wie gesagt wenn du es deutsch brauchst dieses
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
eine zeile drueber schreiben, ueber die date();
 
Code:
function convert_datetime($datestamp, $format)
{

    if ($datestamp!=0) {

        list($date, $time)=split(" ", $datestamp);

        list($year, $month, $day)=split("-", $date);

        list($hour, $minute, $second)=split(":", $time);

        $stampeddate=mktime($hour,$minute,$second,$month,$day,$year); //ui spät erkannt dass craycywolf auch recht hatte xD, gefixt
        setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
        $datestamp=date("d-F-y",$stampeddate);

        return $datestamp;
    }

hab deinen code von oben einfach mal abgeändert, sollte jetzt genau das tun was du willst
 
Zuletzt bearbeitet:
Zurück
Oben