note 98279 added to function.date
| From: | somnus at somnusoft dot com | 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