forum.coppermine-gallery.net

Support => Deutsch (German) => Language Specific Support => cpg1.4.x Deutsch (German) => Topic started by: ManfredK on May 12, 2008, 08:08:36 pm

Title: [Solved]: Datumsformat ändern
Post by: ManfredK on May 12, 2008, 08:08:36 pm
Hallo,
Ich würde gerne das Datumsformat für 'Datum & Uhrzeit Digitaliserung:' (YYYY:MM:DD HH:mm) in ein anderes Datumsformat z.B. DD.MM.JJJJ HH:mm ändern. Wie und wo kann ich dies tun?

Danke für eure Hilfe.
Title: Re: Datumsformat ändern
Post by: Joachim Müller on May 13, 2008, 09:02:34 am
Alle Datumsformate werden in der Sprachdatei definiert - bearbeite also lang/german.php mit einem Nur-Text Editor. Der Bereich
Code: [Select]
// The various date formats
// See http://www.php.net/manual/en/function.strftime.php to define the variable below
$album_date_fmt =    '%d.%B %Y';
$lastcom_date_fmt =  '%d.%m.%y um %H:%M';
$lastup_date_fmt = '%d.%B %Y';
$register_date_fmt = '%d.%B %Y';
$lasthit_date_fmt = '%d.%B %Y um %H:%M';
$comment_date_fmt =  '%d.%B %Y um %H:%M';
$log_date_fmt = '%d.%B %Y um %H:%M'; //cpg1.4
ist der Teil, den Du bearbeiten musst. Wie im Kommentar angegeben kannst Du die entsprechende Anleitung unter http://www.php.net/manual/en/function.strftime.php ansehen, die Deutsche Version dieser Anleitung ist unter http://www.php.net/manual/de/function.strftime.php zu finden.

Ich befürchte allerdings, dass Du Dich auf ein Exif-Feld beziehst - da ticken die Uhren ein bißchen anders. In der Regel ist das internationale Datumsformat in Deine Exif-Daten direkt eincodiert, so dass Du Deine Dateien vor dem Upload mit einem geeigneten Exif-Tool bearbeiten musst.
Title: Re: Datumsformat ändern
Post by: ManfredK on May 13, 2008, 05:22:52 pm
Ich befürchte allerdings, dass Du Dich auf ein Exif-Feld beziehst - da ticken die Uhren ein bißchen anders. In der Regel ist das internationale Datumsformat in Deine Exif-Daten direkt eincodiert, so dass Du Deine Dateien vor dem Upload mit einem geeigneten Exif-Tool bearbeiten musst.
Hallo Joachim,
Besten Dank für deine Antwort.
Es ist leider in der Tat so, dass ich das Format eines Exif-Feldes ändern will.

Es muss doch auch eine andere Möglichkeit geben, das Datumsformat ohne Änderung der Exif anders darzustellen. Jemand eine Idee?

LG ;)
Manfred
Title: Re: Datumsformat ändern
Post by: Αndré on May 14, 2008, 09:40:19 am
Mit nem http://de2.php.net/manual/de/function.preg-match-all.php an der geeigneten Stelle, duerfte das doch kein Problem sein, oder?
Also den String vor der Ausgabe jedes mal verarbeiten.. habe mal ne entsprechende Routine gebastelt:
Code: [Select]
<?php
$ursprungsformat 
"2008:05:14 09:35"// = YYYY:MM:DD HH:mm
preg_match_all('/\d+/'$ursprungsformat$temp);
$wunschformat $temp[0][2].".".$temp[0][1].".".$temp[0][0]." ".$temp[0][3].":".$temp[0][4]; // = DD.MM.JJJJ HH:mm

echo "Urprungsformat: $ursprungsformat <br /> Wunschformat: $wunschformat";
?>

Ausgabe:
Quote
Urprungsformat: 2008:05:14 09:35
Wunschformat: 14.05.2008 09:35


-
muu
Title: Re: Datumsformat ändern
Post by: ManfredK on May 14, 2008, 11:10:49 am
Hallo,
Danke für deine Antwort.

nur wenn...
an der geeigneten Stelle
...die geeignete Stelle so leicht zu finden wäre.

LG
Manfred
Title: Re: Datumsformat ändern
Post by: Αndré on May 14, 2008, 11:21:10 am
Wenn es um die Ausgabe der Datei-Informationen unter einem Bild geht, musst du mal in die Datei "displayimage.php" reinschaun.. dort gibts eine Stelle
Code: [Select]
    if (isset($exif) && is_array($exif)) {
array_walk($exif, 'sanitize_data');
        $info = array_merge($info,$exif);
.. dort werden meines Erachtens die Exif-Daten ausgelesen.. mit nem print_r($info) könntest du herausfinden welchen Wert du aus dem Array bearbeiten musst


-
muu
Title: Re: Datumsformat ändern
Post by: ManfredK on May 14, 2008, 11:54:33 am
Wenn es um die Ausgabe der Datei-Informationen unter einem Bild geht, musst du mal in die Datei "displayimage.php" reinschaun.. dort gibts eine Stelle
Code: [Select]
    if (isset($exif) && is_array($exif)) {
array_walk($exif, 'sanitize_data');
        $info = array_merge($info,$exif);
.. dort werden meines Erachtens die Exif-Daten ausgelesen.. mit nem print_r($info) könntest du herausfinden welchen Wert du aus dem Array bearbeiten musst


-
muu
Hallo,
Noch einmal besten Dank, aber anscheinend bin ich zu doof  :(.
Ich habe keine Ahnung, was ich wo hinschreiben muss.
um diese beiden Tags handelt es sich:
Code: [Select]
    case "9003": $tag = "DateTimeOriginal"       //DD.MM.YYYY HH:MM:SS
    case "9004": $tag = "DateTimedigitized"        //DD.MM.YYYY HH:MM:SS

Also wenn du noch ausreichend Geduld hast, noch einmal für blutige Anfänger.

LG ;)
Manfred
Title: Re: Datumsformat ändern
Post by: Αndré on May 14, 2008, 12:13:28 pm
Um bei meinem Ansatz zu bleiben: schau in die Datei "displayimage.php" und suche folgende Stelle:
Code: [Select]
    if (isset($exif) && is_array($exif)) {
array_walk($exif, 'sanitize_data');
        $info = array_merge($info,$exif);
    }

an dieser Stelle wurde das "info"-Array mit den exif-Daten gefüllt.. jetzt könntest du einfach das entsprechende Feld auslesen und bearbeiten.. hier am Beispiel von "Datum & Uhrzeit Digitaliserung":
Code: [Select]
    preg_match_all('/\d+/', $info['Datum & Uhrzeit Digitaliserung'], $temp);
    $info['Datum & Uhrzeit Digitaliserung'] = $temp[0][2].".".$temp[0][1].".".$temp[0][0]." ".$temp[0][3].":".$temp[0][4];

wenn du diesen Code hinter die erwähnte Stelle schreibst hast du deine gewünschte Ausgabe (bei meinem Beispielbild steht jetzt: "Datum & Uhrzeit Digitaliserung:   29.07.2005 15:00")

mit "Datum & Uhrzeit Original" geht das genauso..

der gesamte Code dafür wäre dann folgender:

Code: [Select]
    if (isset($exif) && is_array($exif)) {
array_walk($exif, 'sanitize_data');
        $info = array_merge($info,$exif);
    }

    preg_match_all('/\d+/', $info['Datum & Uhrzeit Digitaliserung'], $temp);
    $info['Datum & Uhrzeit Digitaliserung'] = $temp[0][2].".".$temp[0][1].".".$temp[0][0]." ".$temp[0][3].":".$temp[0][4];

    preg_match_all('/\d+/', $info['Datum & Uhrzeit Original'], $temp);
    $info['Datum & Uhrzeit Original'] = $temp[0][2].".".$temp[0][1].".".$temp[0][0]." ".$temp[0][3].":".$temp[0][4];


ist zwar etwas zusammengefrickelt, funktioniert auch nur in einer deutschen Galerie, aber ich denke sowas in der Art wolltest du haben :)



mfg
muu
Title: Re: Datumsformat ändern
Post by: ManfredK on May 14, 2008, 12:36:00 pm
Hallo,
Mein Fehler war, dass ich immer das '$info' vergessen habe *kopfschüttel*.
Jetzt funktioniert es. Besten Dank noch einmal.

*Problem gelöst*.