Zmiana języka daty

0

Hej, wie ktoś jak ustawić polskie nazwy miesięcy i dni tygodnia na Win 10 i XAMPP? Wiem o funkcji setlocale, ale nie wiem, co do niej wpisać.

0

A czytałeś manual chociaż?

0

Czytałem, ale takie coś nie działa. Chyba że coś ominąłem.

setlocale(LC_TIME, 'pl_PL', 'pl'); echo strftime('B');

1

Strasznie stare kiedyś napisałem, ale nadal działa.

Przykładowe użycie, jeżeli kod wklejono do klasy o nazwie DateUtils:

$czas = time();
echo DateUtils::getPolishDateForTime( $czas );

a tu kod:

    static function &getPolishDateForTime($time, $includeTime = true, $monthAlone = false)
    {
        if ($includeTime) $tmp = 'l, j F Y \g\o\d\z\. H:i';
        else $tmp = 'l, j F Y';
        $d = date($tmp, $time);
        return self::polishDate($d, $monthAlone);
    }
    
    // Zamienia nazwy angielskich dni tygodnia na polskie
    static function &polishDate(&$dateToChange, $monthAlone = false)
    {
        static $polishMonthForDay = array("January" => "stycznia", "February" => "lutego",
    "March" => "marca", "April" => "kwietnia", "May" => "maja", "June" => "czerwca", "July" => "lipca", "August" => "sierpnia", "September" => "września", "October" => "października", "November" => "listopada", "December" => "grudnia");

        static $polishMonthAlone = array("January" => "styczeń", "February" => "luty",
"March" => "marzec", "April" => "kwiecień", "May" => "maj", "June" => "czerwiec", "July" => "lipiec", "August" => "sierpień", "September" => "wrzesień", "October" => "październik", "November" => "listopad", "December" => "grudzień");

        static $polishDays = array("Monday" => "poniedziałek", "Tuesday" => "wtorek", "Wednesday"=>"środa", "Thursday"=>"czwartek", "Friday"=>"piątek", "Saturday"=>"sobota", "Sunday"=>"niedziela");

        while (list ($eng, $pol) = each ($polishDays))
        {
            $dateToChange = preg_replace("/$eng/i", $pol, $dateToChange);
        }
        reset($polishDays);

        if ($monthAlone)
        {
            $varName = 'polishMonthAlone';
        }
        else
        {
            $varName = 'polishMonthForDay';
        }

        while ( list ($eng, $pol) = each (${$varName}) )
        {
            $dateToChange = preg_replace("/$eng/i", $pol, $dateToChange);
        }
        reset(${$varName});

        return $dateToChange;
    } 

1 użytkowników online, w tym zalogowanych: 0, gości: 1