ugrás a tartalomhoz

Dátum kiíratás

Anonymous · 2006. Aug. 15. (K), 23.13
Sziasztok!

A dátum kiíratással van gondom.
A dátumot egy date mezőből nyerem átalakítom:
  1. <?php date("Y-m-d-l"strtotime("$row->mdatum")) ?>  
és az alábbi függvénnyel formázom:
  1. <?php  
  2. function FormatDate($strDate){   
  3. $Adob = explode ("-",$strDate);   
  4. $newdob = $Adob[2];   
  5. if ($Adob[1] == 1)$month = _JANUARY;   
  6. if ($Adob[1] == 2)$month = _FEBRUARY;   
  7. if ($Adob[1] == 3)$month = _MARCH;   
  8. if ($Adob[1] == 4)$month = _APRIL;   
  9. if ($Adob[1] == 5)$month = _MAY;   
  10. if ($Adob[1] == 6)$month = _JUNE;   
  11. if ($Adob[1] == 7)$month = _JULY;   
  12. if ($Adob[1] == $month = _AUGUST;   
  13. if ($Adob[1] == 9)$month = _SEPTEMBER;   
  14. if ($Adob[1] == 10)$month = _OCTOBER;   
  15. if ($Adob[1] == 11)$month = _NOVEMBER;   
  16. if ($Adob[1] == 12)$month = _DECEMBER;   
  17.   
  18. if ($Adob[3] == Sunday)$day = vasárnap;   
  19. if ($Adob[3] == Monday)$day = hétfő;   
  20. if ($Adob[3] == Tuesday)$day = kedd;   
  21. if ($Adob[3] == Wednesday)$day = szerda;   
  22. if ($Adob[3] == Thursday)$day = csütörtök;   
  23. if ($Adob[3] == Friday)$day = péntek;   
  24. if ($Adob[3] == Saturday)$day = szombat;   
  25.   
  26. $newdob = "".$Adob[0].". ".$month." ".$newdob.". ".$day."";   
  27. return $newdob;  
A poblémám az, hogy ha dátum alapértelmezett - 0000-00-00 - akkor a formázott dátum 1999 november 30. kedd lesz.
Kérdésem, hogy ez mitől van és mit lehetne tenni, hogy ne csinálja ezt.

Köszi
 
1

Dátum kiíratás

Anonymous · 2006. Aug. 16. (Sze), 12.13
Kérdésem, hogy ez mitől van és mit lehetne tenni, hogy ne csinálja ezt.

Én szeretem a józan paraszti ésszel megvalósítható dolgokat:
  1. <?  
  2. function FormatDate($strDate){   
  3.     if($strDate=='0000-00-00') {  
  4.         return "amit akarsz kiiratni";  
  5.     }  
  6.     $Adob = explode ("-",$strDate);   
  7.     SATÖBBI, SATÖBBI  
  8. }  
  9. ?>  
Egyébként ajánlom figyelmedbe a "list"-et, és a "switch"-et:
  1. <?  
  2. @list($ev,$ho,$nap,$ize)=explode ("-",$strDate);   
  3. switch ($ho) {  
  4. case '01':  
  5.     $month = _JANUARY;   
  6. break;  
  7. case '02':  
  8.     $month = _FEBRUARY;   
  9. break;}  
  10. ?>  
Ennél mégjobb lenne, ha a hónapok és a napok neveit egy-egy tömbben tárolnád el ($HONAPNEVEK, $NAPNEVEK), és akkor a sok if és switch csak annyit kéne tenned, hogy:
  1. <?  
  2. @list($ev,$ho,$nap,$ize)=explode ("-",$strDate);   
  3. $month=$HONAPNEVEK[$ho];  
  4. $day =$NAPNEVEK[$nap];  
  5. ?>  
Gyulus
2

Dáéum kiíratás

Anonymous · 2006. Aug. 16. (Sze), 19.45
Köszi a segítséget. A bajt a date függvény okozta, de a függvény tipjeid megszívlelem.