日期函数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');