note 106671 deleted from function.date by danbrown
| From: | danbrown@php.net | Date: | Tue, 29 Nov 2011 15:43:09 +0000 |
| Subject: | note 106671 deleted from function.date by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-184786@lists.php.net to get a copy of this message | ||
Note Submitter: dev5er6 at gmail dot com
----
<?php
function date_lang($format='', $time=false, $mode=null, $lang='rus'){
static $static=array();
if(!$format)return '';
$date='';
$selfUTF8=true;
$encoding='UTF-8';
$charset='charset';
$time=($time&&is_numeric($time)&&$time>0)?$time:(($time&&is_string($time))?strtotime($time):time());
if(isset($static[$lang])&&count($static[$lang]))$translate=&$static[$lang];
else{
$static=array(
'rus'=>array($charset=>'windows-1251',
'Ð'=>array('A','AM'=>'ÐÐ','PM'=>'ÐÐ'),
'а'=>array('a','am'=>'дп','pm'=>'пп'),
'Ð'=>array('D','Sun'=>'ÐÑ',
'Mon'=>'Ðн', 'Tue'=>'ÐÑ',
'Wed'=>'СÑ', 'Thu'=>'ЧÑ',
'Fri'=>'ÐÑ', 'Sat'=>'Сб'),
'Ð'=>array('l',
'Sunday'
=>'ÐоÑкÑеÑенÑе','Monday'
=>'ÐонеделÑник',
'Tuesday' =>'ÐÑоÑник'
,'Wednesday'=>'СÑеда',
'Thursday'=>'ЧеÑвеÑг' ,'Friday'
=>'ÐÑÑниÑа',
'Saturday'=>'СÑббоÑа'
),
'Ф'=>array('F',
'January'=>'ЯнваÑÑ'
,'February'=>'ФевÑалÑ','March'
=>'ÐаÑÑ',
'April' =>'ÐпÑелÑ' ,'May'
=>'Ðай' ,'June' =>'ÐÑнÑ',
'July' =>'ÐÑлÑ' ,'August'
=>'ÐвгÑÑÑ'
,'September'=>'СенÑÑбÑÑ',
'October'=>'ÐкÑÑбÑÑ','November'=>'ÐоÑбÑÑ'
,'December' =>'ÐекабÑÑ'
),
'Ñ'=>array('F',
'January'=>'ЯнваÑÑ'
,'February'=>'ФевÑалÑ','March'
=>'ÐаÑÑа',
'April' =>'ÐпÑелÑ' ,'May'
=>'ÐаÑ' ,'June' =>'ÐÑнÑ',
'July' =>'ÐÑлÑ' ,'August'
=>'ÐвгÑÑÑа','September'=>'СенÑÑбÑÑ',
'October'=>'ÐкÑÑбÑÑ','November'=>'ÐоÑбÑÑ'
,'December' =>'ÐекабÑÑ'
)
),
'ukr'=>array($charset=>'windows-1251',
'Ð'=>array('A','AM'=>'ÐÐ','PM'=>'ÐÐ'),
'а'=>array('a','am'=>'дп','pm'=>'пп'),
'Ð'=>array('D','Sun'=>'Ðд',
'Mon'=>'Ðн', 'Tue'=>'ÐÑ',
'Wed'=>'СÑ', 'Thu'=>'ЧÑ',
'Fri'=>'ÐÑ', 'Sat'=>'Сб'),
'Ð'=>array('l',
'Sunday' =>'ÐедÑлÑ' ,'Monday'
=>'Ðонедiлок',
'Tuesday'
=>'ÐiвÑоÑок','Wednesday'=>'СеÑеда',
'Thursday'=>'ЧеÑвеÑ' ,'Friday'
=>'ÐâÑÑниÑÑ',
'Saturday'=>'СÑбоÑа'
),
'Ф'=>array('F',
'January'=>'СÑÑенÑ'
,'February'=>'ÐÑÑий' ,'March'
=>'ÐеÑезенÑ',
'April' =>'ÐвÑÑенÑ','May'
=>'ТÑавенÑ' ,'June'
=>'ЧеÑвенÑ',
'July' =>'ÐипенÑ' ,'August'
=>'СеÑпенÑ'
,'September'=>'ÐеÑеÑенÑ',
'October'=>'ÐовÑенÑ','November'=>'ÐиÑÑопад'
,'December' =>'ÐÑÑденÑ'
),
'Ñ'=>array('F',
'January'=>'СÑÑнÑ'
,'February'=>'ÐÑÑого' ,'March'
=>'ÐеÑезнÑ',
'April' =>'ÐвÑÑнÑ' ,'May'
=>'ТÑавнÑ' ,'June'
=>'ЧеÑвнÑ',
'July' =>'ÐипнÑ' ,'August'
=>'СеÑпнÑ'
,'September'=>'ÐеÑеÑнÑ',
'October'=>'ÐовÑнÑ'
,'November'=>'ÐиÑÑопада','December'
=>'ÐÑÑднÑ'
)
)
);
if(isset($static[$lang])&&count($static[$lang]))$translate=&$static[$lang];
else return trigger_error(sprintf('%s( \'%s\', %s, %s, \'%s\' )
Couldn\'t find ARRAY_KEY
"%s"!',__FUNCTION__,$format,$time,$mode,$lang,$lang),E_USER_WARNING);
}
$charset=isset($translate[$charset])?$translate[$charset]:$encoding;
foreach(str_split(iconv($encoding,$charset,$format))as$char)
$date.=(!isset($translate[$key=($selfUTF8)?iconv($charset,'UTF-8',$char):$char]))
?date($key,$time)
:iconv(($selfUTF8)?'UTF-8':$charset,$encoding,$translate[$key][date($translate[$key][0],$time)]);
if(!is_null($mode))$date=mb_convert_case($date,$mode,$encoding);
return $date;
}
echo date_lang('Ð d Ñ Y H:i:s','26 november 2011
21:30:31',0,'ukr'); //СР26 ÐÐСТÐÐÐÐÐ 2011 21:30:31
?>