日期函数PHP中的阿拉伯文月份

日期函数PHP中的阿拉伯文月份,php,datetime,arabic,Php,Datetime,Arabic,我有一个变量包含日期,我想用阿拉伯语打印这个日期。日期(阿拉伯文的月份)我如何做到这一点?为什么不用英语检查月份,然后打印阿拉伯文版本?为什么不用英语检查月份,然后打印阿拉伯文版本?添加以下内容: setlocale (LC_ALL, "ar_AE"); 然后打印日期。添加以下内容: setlocale (LC_ALL, "ar_AE"); header('Content-Type: text/html; charset=utf-8'); $standard = array("0","1",

我有一个变量包含日期,我想用阿拉伯语打印这个日期。日期(阿拉伯文的月份)我如何做到这一点?

为什么不用英语检查月份,然后打印阿拉伯文版本?

为什么不用英语检查月份,然后打印阿拉伯文版本?

添加以下内容:

setlocale (LC_ALL, "ar_AE");
然后打印日期。

添加以下内容:

setlocale (LC_ALL, "ar_AE");
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);
然后打印日期

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\u replace
功能


您可以尝试使用
str\u replace
函数

您可以像这样安装和使用
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.

您可以像这样安装和使用
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.
试试这个:

$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

尝试以下方法:

$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

你有没有尝试过任何东西?@Dale你需要知道他尝试了什么才能发布答案吗?你有没有尝试过任何东西?@Dale你需要知道他尝试了什么才能发布答案吗?我已经用英语和阿拉伯语尝试过了我忘了说我在Drupal views php字段中使用了这个,谢谢你的回复。我在英语和阿拉伯语的月份中尝试了这个,它成功了。我忘了说我在Drupal views php字段中使用了这个,谢谢你的回复。谢谢你的回复。我尝试了LoverofNight的回答,对我来说效果很好。它接近你说的。谢谢你的回复。我尝试了LoverofNight的回答,对我来说效果很好。这应该是最好的方式,因为你有不同日历的阿拉伯月份。例如,“ar_SA”、“ar_JO”使用以下命令设置自定义格式:$dateFormatterAr->setPattern('yyy-MMMM-dd');这应该是最好的方式,因为你有不同日历的阿拉伯月份。例如,“ar_SA”、“ar_JO”使用以下命令设置自定义格式:$dateFormatterAr->setPattern('yyy-MMMM-dd');