note 111082 added to function.date
| From: | dev5er6 at gmail dot com | Date: | Sat, 12 Jan 2013 12:14:19 +0000 |
| Subject: | note 111082 added to function.date | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-192993@lists.php.net to get a copy of this message | ||
<?php
function date_i18n( $format = '', $time = false, $lang = 'rus' ){
static $_ = array(
'eng' => array(
'f' => array( 0 => 'n', 'January', 'February',
'March', 'April', 'May', 'June', 'July',
'August', 'September', 'October', 'November',
'December' ),
),
'rus' => array(
'A' => array('_'=> 'A', 'AM' =>
'ÐÐ', 'PM' => 'ÐÐ' ),
'a' => array('_'=> 'a', 'am' =>
'дп', 'pm' => 'пп' ),
'D' => array('_'=> 'w', 'ÐÑ',
'Ðн', 'ÐÑ', 'СÑ', 'ЧÑ',
'ÐÑ', 'Сб' ),
'l' => array('_'=> 'w',
'ÐоÑкÑеÑенÑе',
'ÐонеделÑник', 'ÐÑоÑник',
'СÑеда', 'ЧеÑвеÑг',
'ÐÑÑниÑа', 'СÑббоÑа' ),
'F' => array( 0 => 'n', 'ЯнваÑÑ',
'ФевÑалÑ', 'ÐаÑÑ',
'ÐпÑелÑ', 'Ðай', 'ÐÑнÑ',
'ÐÑлÑ', 'ÐвгÑÑÑ',
'СенÑÑбÑÑ', 'ÐкÑÑбÑÑ',
'ÐоÑбÑÑ', 'ÐекабÑÑ' ),
'f' => array( 0 => 'n', 'ЯнваÑÑ',
'ФевÑалÑ', 'ÐаÑÑа',
'ÐпÑелÑ', 'ÐаÑ', 'ÐÑнÑ',
'ÐÑлÑ', 'ÐвгÑÑÑа',
'СенÑÑбÑÑ', 'ÐкÑÑбÑÑ',
'ÐоÑбÑÑ', 'ÐекабÑÑ' ),
'M' => array( 0 => 'n', 'Янв',
'Фев', 'ÐаÑ', 'ÐпÑ',
'Ðай', 'ÐÑн', 'ÐÑл',
'Ðвг', 'Сен', 'ÐкÑ',
'ÐоÑ', 'Ðек' ),
'S' => array( 1, 'ое' ),
)
);
if( !isset( $_[ $lang ] ) && file_exists( $p = dirname( __FILE__ ) . DIRECTORY_SEPARATOR .
$lang . '.ini' ) )
$_[ $lang ] = parse_ini_file( $p, true );
$date = '';
$time = ( !$time ) ? time() : ( ( intval( $time ) > 0 ) ? intval( $time ) : strtotime( $time )
);
$slash = false;
foreach( str_split( $format ) as $char )
if ( $char == '\\' && !$slash )
$slash = true;
elseif ( $slash && !( $slash = false ))
$date .= $char;
elseif( isset( $_[ $lang ][ $char ] ) )
$date .= $_[ $lang ][ $char ][ date( reset( $_[ $lang ][ $char ] ), $time ) ];
else
$date .= date ( $char, $time );
return $date;
}
/*ukr.ini' file *//*
[A]
_=A
AM=ÐÐ
PM=ÐÐ
[a]
_=a
am=дп
pm=пп
[D]
_=w
0=Ðд
1=Ðн
2=ÐÑ
3=СÑ
4=ЧÑ
5=ÐÑ
6=Сб
[l]
_=w
0=ÐедÑлÑ
1=Ðонедiлок
2=ÐiвÑоÑок
3=СеÑеда
4=ЧеÑвеÑ
5=ÐâÑÑниÑÑ
6=СÑбоÑа
[F]
0=n
1=СÑÑенÑ
2=ÐÑÑий
3=ÐеÑезенÑ
4=ÐвÑÑенÑ
5=ТÑавенÑ
6=ЧеÑвенÑ
7=ÐипенÑ
8=СеÑпенÑ
9=ÐеÑеÑенÑ
10=ÐовÑенÑ
11=ÐиÑÑопад
12=ÐÑÑденÑ
[f]
0=n
1=СÑÑнÑ
2=ÐÑÑого
3=ÐеÑезнÑ
4=ÐвÑÑнÑ
5=ТÑавнÑ
6=ЧеÑвнÑ
7=ÐипнÑ
8=СеÑпнÑ
9=ÐеÑеÑнÑ
10=ÐовÑнÑ
11=ÐиÑÑопада
12=ÐÑÑднÑ
[M]
0=n
1=СÑÑ
2=ÐÑÑ
3=ÐеÑ
4=ÐвÑ
5=ТÑа
6=ЧеÑ
7=Ðип
8=СеÑ
9=ÐеÑ
10=Ðов
11=ÐиÑ
12=ÐÑÑ
/*end*/
//test
$t=strtotime('1987-05-31 06:22:53');
$d='<\t\r><\t\h>~<\/\t\h><\t\d>'.implode('<\/\t\d><\t\d>',str_split('DlSFfMaA')).'<\/\t\d><\/\t\r>';
echo date('r',$t);
echo '<pre><table>';
foreach(array('rus','ukr','eng')as$lang)
echo str_replace('~',$lang,date_i18n($d,$t,$lang));
echo str_replace('~','def',date($d,$t));
echo '</table></pre>';
/* result
Sun, 31 May 1987 06:22:53 +0400
rus ÐÑ ÐоÑкÑеÑенÑе ое Ðай ÐаÑ
Ðай дп ÐÐ
ukr Ðд ÐедÑÐ»Ñ st ТÑÐ°Ð²ÐµÐ½Ñ Ð¢ÑавнÑ
ТÑа дп ÐÐ
eng Sun Sunday st May May May am AM
def Sun Sunday st May f May am AM
*/
?>
----
Server IP: 69.147.83.199
Probable Submitter: 89.112.26.23
----
Manual Page -- http://php.net/manual/en/function.date.php
Edit -- https://master.php.net/note/edit/111082
Del: integrated -- https://master.php.net/note/delete/111082/integrated
Del: useless -- https://master.php.net/note/delete/111082/useless
Del: bad code -- https://master.php.net/note/delete/111082/bad+code
Del: spam -- https://master.php.net/note/delete/111082/spam
Del: non-english -- https://master.php.net/note/delete/111082/non-english
Del: in docs -- https://master.php.net/note/delete/111082/in+docs
Del: other reasons-- https://master.php.net/note/delete/111082
Reject -- https://master.php.net/note/reject/111082
Search -- https://master.php.net/manage/user-notes.php