Pozdrav, danas ću vam pokazat kako napraviti da iz trenutnog datuma tj. ako je danas 26.2.2015 da izvadi dan (Dan = 26) te
da mu pronaÄ'e naziv u tjednu. (26 = ÄŒetvrtak)
Krenimo.
Ovo što napravimo vrijedi za datum u formatu: 25.3.2015
1. Kreirat ćemo funkciju zvanu convert_date($date,$type)
function convert_date($date,$type)
{
}
2. Zatim ćemo u tu funkciju dodati:
$firstToc = stripos($num,"."); // Pozicija prve toÄke
$secToc = strrpos($num,"."); // Pozicija druge toÄke u datumu
$daySub = substr($num,0,$firstToc); // Funkciju substr() koristimo da izvadimo dan iz datuma
$monthSub = substr($num,$firstToc,$secToc-1); // Zatim je opet koristimo da izvadimo mjesec, mjesec sadrži toÄku joÅ¡, kako bi se rijeÅ¡ili te toÄke koristimo dole funkciju zvanu explode()
$monthExp = explode(".",$monthSub); // Ova funkcija briše znak, slovo i dr. iz stringa
$yearSub = substr($num,$secToc+1); // Na kraju opet koristimo funkciju isto za godinu
3. Sljedeće što ćemo raditi jest da nam ta funkcija da tip koji smo joj zadali $type
if($type == 1) // Ako je zadano gore u funkciju da je tip 1 onda će izbaciti dan
{
return $daySub;
}
else if($type == 2) // Ako je zadano gore u funkciju da je tip 2 onda će izbaciti mjesec
{
return $monthExp[1];
}
else if($type == 3) // Ako je zadano gore u funkciju da je tip 3 onda će izbaciti godinu
{
return $yearSub;
}
// Možete koristiti i funkciju switch()
// Naša funkcija bi trebala izgledati ovako:
function convert_date($num,$type)
{
$firstToc = stripos($num,".");
$secToc = strrpos($num,".");
$daySub = substr($num,0,$firstToc);
$monthSub = substr($num,$firstToc,$secToc-1);
$monthExp = explode(".",$monthSub);
$yearSub = substr($num,$secToc+1);
if($type == 1)
{
return $daySub;
}
else if($type == 2)
{
return $monthExp[1];
}
else if($type == 3)
{
return $yearSub;
}
}
4. Sljedeće što radimo jest opet nova funkcija nazvana convertDayToDayName($date)
function convertDayToDayName($date)
{
}
5. Zatim u tu funkciju dodajemo sljedeće:
$cDtDN_day = convert_date($date,1); // Ova će varijabla imati dan iz datuma. Zbog $type = 1;
$cDtDN_month = convert_date($date,2); // Ova će varijabla imati mjesec iz datuma. Zbog $type = 2;
$cDtDN_year = convert_date($date,3); // Ova će varijabla imati godinu iz datuma. Zbog $type = 3;
$dayName = date("l", mktime(0,0,0,$cDtDN_month,$cDtDN_day,$cDtDN_year)); // Zatim ova varijabla pomoću funckije mktime() kreira datum koji vadi dan kao naziv (Engleski naziv).
6. Sada kako da izvadimo naziv dana iz toga, jednostavno pomoću switch() funkcije i znanja engleskog :D:
switch ($dayName) // Sve je jasno iz priloženog
{
case "Monday":
return "Ponedjeljak"; // Bezboje
break;
case "Tuesday":
return "Utorak"; // Bezboje
break;
case "Wednesday":
return "Srijeda"; // Bezboje
break;
case "Thursday":
return "Četvrtak"; // Ä = utf8 // Bezboje
break;
case "Friday":
return "Petak"; // Bezboje
break;
case "Saturday":
return "<span style='color: #0066FF;'>Subota</span>"; // Ovo je plava boja
break;
case "Sunday":
return "<span style='color: #E60000;'>Nedjelja</span>"; // Ovo je crvena boja
break;
}
// Naša funkcija bi trebala ovako izgledati
function convertDayToDayName($date)
{
$cDtDN_day = $this->convert_date($date,1);
$cDtDN_month = $this->convert_date($date,2);
$cDtDN_year = $this->convert_date($date,3);
$dayName = date("l", mktime(0,0,0,$cDtDN_month,$cDtDN_day,$cDtDN_year));
switch ($dayName)
{
case "Monday":
return "Ponedjeljak";
break;
case "Tuesday":
return "Utorak";
break;
case "Wednesday":
return "Srijeda";
break;
case "Thursday":
return "Četvrtak";
break;
case "Friday":
return "Petak";
break;
case "Saturday":
return "<span style='color: #0066FF;'>Subota</span>";
break;
case "Sunday":
return "<span style='color: #E60000;'>Nedjelja</span>";
break;
}
}
7. Kako koristimo ove funkcije:
Jednostavno je
Dodajte negdje gdje želite echo ili nešto drugo
npr. echo convertDayToDayName("26.2.2015"); i Dobit ćete da je taj dan Äetvtrak
Možete koristiti i funkciju convert_date
npr: echo convert_date("26.2.2015",1); Izbacit će da je dan 26
npr: echo convert_date("26.2.2015",2); Izbacit će da je mjesec 2
npr: echo convert_date("26.2.2015",3); Izbacit će da je godina 2015
// Upozorenje na vrh skripte dodajte ovo inaće neće radit:
date_default_timezone_set("Europe/Zagreb"); ili vašu timezonu
To bi bilo to nadam se da vam se svidja tutorial.
Ako ima neka greška javite mi na PM
Ovo mi je prvi tutorial na podforumu Webstranice
Mozes na laksi nacin uraditi ovu funkciju convert_date, i to puno laksi umjesto strrpos mozes koristiti explode kako bi rastavio string na array i tamo dobijes unutar arraya dan, mjesec, godinu, isto tako kada bi koristio ne treba ti gomila ovih if/elseif-ova ovako bi izgledala ta funkcija.
function convert_date($num,$type) {
$explode = explode('.', $num); // Ova funkcija izbacuje tacku iz stringa i dobijas sve rijeci koji su prije tacke posto ovo string izgleda tipa 25.1.2015 dobijas output ovako: array([0] => 25, [1] = 1, [2] => 2015); i sada ako hoces da uzmes dan u type upises 0, i funkcija u 2 linije napisana ..
return $explode[$type];
}