webForumDet fria alternativet

Engelska till svenska i datum

PHP

2 svar · 378 visningar · startad av arro08

Medlem sedan dec. 200322 inlägg
Frågan#1

Jag använder en plugin (widget) till min blogg, som bl.a. skriver ut datum på inläggen. Men den gör det på engelska, så jag försökte utan framgång modifiera till svenska.

Så här ser befintlig kod ut:

$post_date = date($params['date_format'], strtotime($post->post_date));
De olika variablerna returnerar:
$params['date_format'] = "n M" // alltså datumformatet som jag ställt in, ex 11 feb.
$post->post_date = "2006-02-11 00:58:51" //alltså datumet för inlägget, alltså det som jag vill ska visas på svenska i formatet "n M".

Har testat lite med setlocale(LC_TIME, "sv_SE"); utan att få det att funka.

Tacksam för hjälp!

Medlem sedan jan. 2005953 inlägg
#2

Använd setlocale tillsammans med strftime. (Byt alltså date mot strftime)

Medlem sedan feb. 2007278 inlägg
#3

Jag vill sekundera metalboys inlägg. Använd bara locale-specifika funktioner, utom möjligen för datum som skall vara i UTC och följa en ISO-standard i formatet. Helst bör du dock använde det sätt som är inbyggt i PHP 5.1 för att styra dina tidsformat.

Jag har följande kod i början av mina skript:

*```php
// Fixa strängfunktioners kollationering, etc.
$CURLOCALE = setlocale(LC_ALL,'sv_SE.iso88591','swedish'); // Funkar på på de flesta servrar Kolla med webhotellet du använder!
if ( ! strlen($CURLOCALE) ) {
user_error('Locale inte inställd!',E_USER_WARNING);
// Alla databasuppdateringar, skapande av RSS-filer, etc bör förhindras
}
/

Gammal metod att ställa in tidszon.
putenv('TZ=SWT-1SST'); // Swedish Winter Time (funkar också sommartid med 'SST' på slutet) Ok för *nix ibland och win
putenv('TZ=Europe/Stockholm');
if ( !(getenv('TZ') == 'SWT-1SST' || getenv('TZ') == 'Europe/Stockholm' ) ) {
user_error('Locale inte inställd!',E_USER_WARNING);
// Alla databasuppdateringar, skapande av RSS-filer, etc bör förhindras
}
*/
// Från och med PHP 5.1 rekommenderat sätt!
$TZ_SET = date_default_timezone_set('Europe/Stockholm');
if ( !$TZ_SET ) {
user_error('Tidszon inte inställd!',E_USER_WARNING);
// Alla databasuppdateringar, skapande av RSS-filer, etc bör förhindras
}


Lars Gunther

P.S. Snälla admin - sätt vit text på bakgrunden i kodcitat! Orange text på beige bakgrund = i princip oläsligt! Jag har försökt att gör det lite lättare med fetstilt.
255 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)