Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Päivämäärä suomeksi

juha127 [14.09.2006 18:20:03]

#

Tein sivuilleni scriptin jolla saan näkymään suomenkieliset päivien nimet ja kuukaudet ja ajettelin laittaa sen jakeluun. Monet varmasti pystyvät tekemään tälläisen hetkessä, mutta aloittelijoille.

edit. koodia pikkasen siistitty (28.01 -07)

<?php

// Päivämäärän esitys suomeksi
$paiva_nimi = array (
	"Mon" => "maanantai",
	"Tue" => "tiistai",
	"Wed" => "keskiviikkko",
	"Thu" => "torstai",
	"Fri" => "perjantai",
	"Sat" => "lauantai",
	"Sun" => "sunnuntai"
	);

$paiva = $paiva_nimi[date("D", time())];

$kuukausi_nimi = array ("tammi", "helmi", "maalis", "huhti", "touko", "kesä", "heinä", "elo", "syys", "loka", "marras", "joulu");

$kuukausi = $kuukausi_nimi[date("n", time()) - 1];

// Yläpuoli tulee tiedoston alkupäähän ja alapuoli sinne mihin haluat päiväyksen

echo "Tänään on ", $paiva , date(" d. ") , $kuukausi , "kuuta", date(" Y H:i");
// Tulostaa päiväyksen muotoon: esim. Tänään on torstai 14. syyskuuta 2006 18:10

?>

tsuriga [15.09.2006 12:23:54]

#

ARRAY -> array, daten oletusarvo timestampille on time, päivät helpompi käydä numeerisella arvolla, "kuuta" toistuu. Ts.

<?php
$paivat = array("sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai");
$kuukaudet = array("tammi", "helmi", "maalis", "huhti", "touko", "kesä", "heinä", "elo", "syys", "loka", "marras", "joulu");
echo "Tänään on ".$paivat[date("w")]." ".date("j").". ".$kuukaudet[date("n")-1]."kuuta ".date("Y G:i");
?>

Ja sitten on tietysti locale, setlocale + strftime.

juha127 [15.09.2006 17:19:47]

#

Tottahan tuo, toteutus tapoja on kymmeniä.

php-Niko [15.10.2006 16:06:34]

#

Katos keppana. Sama kuin mulla paitsi jätin kuukaudet pois ja
echo on muotoon:

echo $paiva.date("(d).m.y H:i");

Pentu [22.03.2009 17:45:09]

#

Millä kurin saisin tunteihin 6h lisää, palvelimeni on jossain hornassa ja sielä aika on 6h jäljessä meidän aikaamme.
nyt scriptini näyttää tältä:

 $paivat[date("w")] . date(", d.m.y H:i");

juha127 [22.03.2009 17:53:19]

#

$paivat[date("w", time()+60*60*6)] . date(", d.m.y H:i", time()+60*60*6);

Eli time() palauttaa palvelimen aikaleiman, jota date funktio osaa käsitellä. Normaalisti date funktio hakee tämän, mutta nyt kun halutaan muokata lisätään tarvittava määrä sekuntteja. 6 tuntia on 60 * 60 * 6 sekunttia eli 21600

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta