2012-12-11 70 views
1

我有变量包含日期,我想用阿拉伯文打印这个日期。日期(阿拉伯语月)我该怎么做?阿拉伯月份日期函数PHP

+0

你有没有尝试过任何东西? – Dale

+3

@Dale你需要知道他为了发布答案而尝试过什么吗? –

回答

0
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功能

+0

我已经试过这个英文和阿拉伯语月份,它的工作。我忘了说,我在Drupal的意见PHP字段使用此,谢谢你的答复。 – JokerDev

0

为什么不用英文检查月份,然后打印阿拉伯文等值的东西?

1

补充一点:

setlocale (LC_ALL, "ar_AE"); 

然后打印日期。

0

您可以安装和使用IntlDateFormatter这样的:

$formatter = new IntlDateFormatter('ar_SA',IntlDateFormatter::FULL,IntlDateFormatter::FULL); 
$date = new DateTime();//now; 
echo $formater->formate($date);//will print you something in arabic with the order that is used localy instead of english order. 
10

试试这个:

$months = array(
    "Jan" => "يناير", 
    "Feb" => "فبراير", 
    "Mar" => "مارس", 
    "Apr" => "أبريل", 
    "May" => "مايو", 
    "Jun" => "يونيو", 
    "Jul" => "يوليو", 
    "Aug" => "أغسطس", 
    "Sep" => "سبتمبر", 
    "Oct" => "أكتوبر", 
    "Nov" => "نوفمبر", 
    "Dec" => "ديسمبر" 
); 

$your_date = "2012-12-25"; // for example 

$en_month = date("M", strtotime($your_date)); 

$ar_month = $months[$en_month]; 

echo $en_month . " = " . $ar_month; 

这将输出:Dec = ديسمبر,它依赖在$your_date

+0

和几天?... – artragis

+0

谢谢你的回复我试过LoverOfEvening答案和itworks对我来说它接近你说的。 – JokerDev

+0

不客气! – Amr