note 110239 deleted from function.date by googleguy
| From: | googleguy@php.net | Date: | Fri, 12 Oct 2012 10:38:32 +0000 |
| Subject: | note 110239 deleted from function.date by googleguy | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-191266@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=false){//**/){$lang='ru-RU';/**/
if(!$lang)$lang='ru-RU';
static $static=array();
if(!$format)return '';
$date='';
$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(
'en-GB'=>array($charset=>'UTF-8','format'=>'d F
Y'),
'ru-RU'=>array($charset=>/**
/'windows-1251',//**/'cp-1251',/**/
'format'=>'d F Y',
'A'=>array('A','AM'=>'ÐÐ','PM'=>'ÐÐ'),
'a'=>array('a','am'=>'дп','pm'=>'пп'),
'D'=>array('D','Sun'=>'ÐÑ',
'Mon'=>'Ðн', 'Tue'=>'ÐÑ',
'Wed'=>'СÑ', 'Thu'=>'ЧÑ',
'Fri'=>'ÐÑ', 'Sat'=>'Сб'),
'l'=>array('l',
'Sunday'
=>'ÐоÑкÑеÑенÑе','Monday'
=>'ÐонеделÑник',
'Tuesday' =>'ÐÑоÑник'
,'Wednesday'=>'СÑеда',
'Thursday'=>'ЧеÑвеÑг' ,'Friday'
=>'ÐÑÑниÑа',
'Saturday'=>'СÑббоÑа'
),
'f'=>array('F',
'January'=>'ЯнваÑÑ'
,'February'=>'ФевÑалÑ','March'
=>'ÐаÑÑ',
'April' =>'ÐпÑелÑ' ,'May'
=>'Ðай' ,'June' =>'ÐÑнÑ',
'July' =>'ÐÑлÑ' ,'August'
=>'ÐвгÑÑÑ'
,'September'=>'СенÑÑбÑÑ',
'October'=>'ÐкÑÑбÑÑ','November'=>'ÐоÑбÑÑ'
,'December' =>'ÐекабÑÑ'
),
'F'=>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);
}
if(is_bool($format))$format=@$translate['format'];
$charset=isset($translate[$charset])?$translate[$charset]:$encoding;
foreach(str_split(iconv($encoding,$charset,$format))as$char)
$date.=(!isset($translate[$key=iconv($charset,$encoding,$char)]))
?iconv($charset,$encoding,date($key,$time))
:$translate[$key][date($translate[$key][0],$time)];
if(!is_null($mode))$date=mb_convert_case($date,$mode,$encoding);
return $date;
}
?>