Преобразовать числовую дату (03-11-1991) в арабское число (۱۹۹۱/۱۱/۰۳) php

Я просто хочу преобразовать дату в этом формате dd-mm-yyyy (03-11-1991) в арабский язык, не подобный этому (۱۹۹۱/۱۱/۰۳) в php.

Ответ Я сделал эту логику, и она отлично работает

   $dateofbirth_numerial="03-05-2001";
                             $numerial_no = array("0","1","2","3","4","5","6","7","8","9","-");
                             $arabic_no = array("۰","۱","۲","۳","۴","۵","۶","۷","۸","۹","/");
                             $dateofbirth_arabic = str_replace($numerial_no , $arabic_no , $dateofbirth_numerial);
                             $result = explode('/',$dateofbirth_arabic);
                             echo $result[2]."/".$result[1]."/".$result[0]; /* yyyy/mm/dd */

person Fahid Mahmood    schedule 25.07.2012    source источник
comment
возможный дубликат преобразования английских чисел в арабские цифры   -  person JJJ    schedule 25.07.2012
comment
Хорошо, но я бы сказал, что это неправильный способ сделать это. В любом случае Альхамдулиллах!   -  person M. Ahmad Zafar    schedule 25.07.2012
comment
ДЖАЗАКАЛЛАХ. Да, брат, ты был прав, я снова изменил логику, потому что в предыдущем из-за перевернутой строки.   -  person Fahid Mahmood    schedule 25.07.2012


Ответы (2)


Вы можете использовать подход локализации PHP:

    setlocale(LC_TIME, 'ar');
    $arabic = strftime('%A %e %B %Y', time());
    echo $arabic;

Если вы не видите арабские буквы, а латинские, это может быть связано с тем, что локаль не установлена ​​в вашей системе. Вы можете проверить установленные локали, выполнив команду: locale -a

Дополнительные параметры см. в документации:
http://php.net/manual/en/function.strftime.php
http://php.net/manual/en/function.setlocale.php

person M. Ahmad Zafar    schedule 25.07.2012

header('Content-Type: text/html; charset=utf-8');
$standard = array("0","1","2","3","4","5","6","7","8","9");
$eastern_arabic_symbols = array("٠","١","٢","٣","٤","٥","٦","٧","٨","٩");
$current_date = date('d').'-'.date('m').'-'.date('Y');
$arabic_date = str_replace($standard , $eastern_arabic_symbols , $current_date);

вы можете попробовать функцию str_replace

person arun    schedule 06.11.2012