note 98279 added to function.date

From: Date: Sun, 06 Jun 2010 19:54:26 +0000
Subject: note 98279 added to function.date
Groups: php.notes 
Request: Send a blank email to php-notes+get-169920@lists.php.net to get a copy of this message
This function(s) make a correct date format to hungarian spelling rules(like lowercase month names). The parameters are the same as the built in date() function. date_hu("D") => h, k, sze, cs, p, szo, v date_hu("l") => hétfő, kedd, szerda, csütörtök, péntek, szombat, vasárnap date_hu("jS") => 1ö, 2ik, 3ik, 4ik, 5ik, 6ik, 7ik, 8ik, 9ik, 10ik, 11ik, 12ik, 13ik, 14ik, 15ik, 16ik, 17ik, 18ik, 19ik, 20ik, 21ik, 22ik, 23ik, 24ik, 25ik, 26ik, 27ik, 28ik, 29ik, 30ik, 31ik date_hu("F") => január, február, március, április, május, június, július, augusztus, szeptember, október, november, december date_hu("M") => jan, febr, márc, ápr, máj, júni, júli, aug, szept, okt, nov, dec date_hu("a") => de, du date_hu("A") => DE, DU The code: <?php function date_hu($format=NULL, $timestamp=NULL) { if($timestamp==NULL) { $timestamp=time(); } $day_name=array('', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat', 'vasárnap'); $day_name_short=array('', 'h', 'k', 'sze', 'cs', 'p', 'szo', 'v'); $month_name=array('', 'január', 'február', 'március', 'április', 'május', 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', 'december'); $month_name_short=array('', 'jan', 'febr', 'márc', 'ápr', 'máj', 'júni', 'júli', 'aug', 'szept', 'okt', 'nov', 'dec'); $date_hu=''; for ($i=0; $i<strlen($format); $i++) { $char=substr($format, $i, 1); if ($char=='D') { $date_hu.=$day_name_short[date('N', $timestamp)]; } else if ($char=='l') { $date_hu.=$day_name[date('N', $timestamp)]; } else if ($char=='S') { $day_number=date('j', $timestamp); if ($day_number==1) { $date_hu.='ö'; } else { $date_hu.='ik'; } } else if ($char=='F') { $date_hu.=$month_name[date('n', $timestamp)]; } else if ($char=='M') { $date_hu.=$month_name_short[date('n', $timestamp)]; } else if ($char=='a') { if(date('a', $timestamp)=='am') { $date_hu.='de'; } else { $date_hu.='du'; } } else if ($char=='A') { if(date('A', $timestamp)=='AM') { $date_hu.='DE'; } else { $date_hu.='DU'; } } else { $date_hu.=date($char, $timestamp); } } return $date_hu; } ?> Compressed source, but functionality same as the previous. You can trim spaces and everything inside the code. Spaces used because php.net drops: "Your note contains a bit of text that will result in a line that is too long, even after using wordwrap()." <?php function date_hu($f=NULL, $t=NULL){ $t=$t==NULL?time():$t; $d=array('', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat', 'vasárnap'); $ds=array('', 'h', 'k', 'sze', 'cs', 'p', 'szo', 'v'); $m=array('', 'január', 'február', 'március', 'április', 'május', 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', 'december'); $ms=array('', 'jan', 'febr', 'márc', 'ápr', 'máj', 'júni', 'júli', 'aug', 'szept', 'okt', 'nov', 'dec'); $r=''; $fl=strlen($f); for($p=0;$p<$fl;$p++){ $c=substr($f, $p, 1); $r.=$c=='D'?$ds[date('N', $t)]:($c=='l'?$d[date('N', $t)]:($c=='S'?(date('j', $t)==1?'ö':'ik'):($c=='F'?$m[date('n', $t)]:($c=='M'?$ms[date('n', $t)]:($c=='a'?(date('a', $t)=='am'?'de':'du'):($c=='A'?(date('A', $t)=='AM'?'DE':'DU'):date($c, $t))))))); } return $r; } ?> ---- Server IP: 92.43.200.200 Probable Submitter: 89.133.207.45 ---- Manual Page -- http://www.php.net/manual/en/function.date.php Edit -- https://master.php.net/note/edit/98279 Del: integrated -- https://master.php.net/note/delete/98279/integrated Del: useless -- https://master.php.net/note/delete/98279/useless Del: bad code -- https://master.php.net/note/delete/98279/bad+code Del: spam -- https://master.php.net/note/delete/98279/spam Del: non-english -- https://master.php.net/note/delete/98279/non-english Del: in docs -- https://master.php.net/note/delete/98279/in+docs Del: other reasons-- https://master.php.net/note/delete/98279 Reject -- https://master.php.net/note/reject/98279 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#169920) next »