Avatar billede swaq Nybegynder
03. juni 2003 - 10:28 Der er 19 kommentarer og
1 løsning

Juni, Juli problem i forhold til date og preg_replace

Hejsa,
Jeg har fundet et script på php.net som hjælper med konverteringen af et timestamp til danske måneder. Problemet er juni og juli, som jo indenholder 'i'. Er der nogen der kan se problemet i nedenstående funktion?

function getFormattedDate($timestamp, $format) {
    if($timestamp=="")
        $timestamp = time();
    if($format=="")
        $format = "d. M Y H:i:s";
    $month = array(    "Januar", "Februar", "Marts", "April",
                    "Maj", "Juni", "Juli", "August",
                    "September", "Oktober", "November", "December");

    preg_match_all("/[[:alpha:]]/",$format,$character);
    for($i=0;$i<count($character[0]);$i++) {
        if($character[0][$i] == 'M') {
            $formatted = $month[date("n",$timestamp)-1];
        }
        else {
            $formatted = date($character[0][$i],$timestamp);
        }
        $format = preg_replace("/".$character[0][$i]."/",$formatted,$format,1);
    }
    return($format);
}
Avatar billede andy Nybegynder
03. juni 2003 - 10:36 #1
hvordan ser dit timestamp ud? unix timestamp?
Avatar billede avminarm Juniormester
03. juni 2003 - 10:37 #2
hvad sker der ?
Avatar billede swaq Nybegynder
03. juni 2003 - 10:45 #3
Det der sker er, at den fremfor at skrive 'Juni' skriver 'Jun41' eller 43, what ever... i måneden og tidspunktet ser således ud: 10:i:36

Metoden bliver kaldt således: echo getFormattedDate("",""); (ærgeligt man ikke kan overloade sine funktioner i php - ligesom i java)
Avatar billede swaq Nybegynder
03. juni 2003 - 10:47 #4
I de engelske udgaver af månedsbetegnelser findes 'i' ikke i slutningen af måneden, så det er min teori at det er $format der konflikter med $month i preg_match_all(...) eller preg_replace(...)

Med regulære udtryk er ikke liiiiige min stærke side...
Avatar billede andy Nybegynder
03. juni 2003 - 10:53 #5
function get_dansk_maaned() {
$month = array("Januar", "Februar", "Marts", "April","Maj", "Juni", "Juli", "August","September", "Oktober", "November", "December");
return $month[date("n")-1];
}

$maaned = get_dansk_maaned();

Er det sådan noget?
Avatar billede avminarm Juniormester
03. juni 2003 - 11:02 #6
hvad søren sker der med php.net??
Avatar billede andy Nybegynder
03. juni 2003 - 11:06 #7
?

http://dk.php.net virker fint?
Avatar billede avminarm Juniormester
03. juni 2003 - 11:13 #8
jeg får en side hvor domænet er parked?? - ved at klikke på dit link??
Avatar billede avminarm Juniormester
03. juni 2003 - 11:21 #9
huuu - det gør jeg på alle .net links??????
Avatar billede andy Nybegynder
03. juni 2003 - 11:21 #10
hmmm, wierd. Ingen problemer med dk.php.net eller php.net her...
Avatar billede swaq Nybegynder
03. juni 2003 - 11:29 #11
-> andy; hvordan passer din funktion ind i min??? Tænker her på det regulære udtryk...
Avatar billede andy Nybegynder
03. juni 2003 - 11:49 #12
hvad skal du bruge det til?

Er det ikke bare måneden du vil have lavet til dansk?
Avatar billede swaq Nybegynder
03. juni 2003 - 12:16 #13
tjaa... jeg vil gerne, at funktionen viser 'Juni' som det bør staves og ikke 'Juni14'.

Her er et eksempel på hvad getFormattedDate("","") resulterer i:
03. Jun16 2003 12:i:40
Avatar billede andy Nybegynder
03. juni 2003 - 12:57 #14
$date = date("d. ") . get_dansk_maaned() . date(" Y H:i:s");
Avatar billede swaq Nybegynder
03. juni 2003 - 13:03 #15
fremfor at anvende den metode jeg har problemer med?
Avatar billede andy Nybegynder
03. juni 2003 - 13:07 #16
ja
Avatar billede swaq Nybegynder
03. juni 2003 - 14:02 #17
ok... takker :-) smid et svar så du ka' få dine point :O)
Avatar billede avminarm Juniormester
03. juni 2003 - 14:04 #18
hvad skal du egentlig bruge scriptet til? - det kan være der findes et andet alternativ som andy foreslår.
Avatar billede andy Nybegynder
03. juni 2003 - 19:47 #19
svar
Avatar billede swaq Nybegynder
07. juni 2003 - 15:41 #20
Scriptet skal bruges i forbindelse med en aktivitetskalender på http://www.frederiksberg-jujutsu.dk?id=Aktivitetskalender (blandt andet :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester