Php 将日期从日历类型转换为其他类型

Php 将日期从日历类型转换为其他类型,php,date,localization,calendar,intl,Php,Date,Localization,Calendar,Intl,我需要一个函数将波斯日历中的日期转换为对应的公历日期。我在的示例#3之后编写了以下函数。不幸的是,它真的有效吗?怎么了?使用Intl扩展的正确方法是什么 function convert($time, $fromCalendar = 'gregorian', $toCalender = 'persian', $fromFormat = 'yyyy-MM-dd HH:mm:ss', $toFormat = 'yyyy-MM-dd HH:mm:ss', $timez

我需要一个函数将波斯日历中的日期转换为对应的公历日期。我在的示例#3之后编写了以下函数。不幸的是,它真的有效吗?怎么了?使用Intl扩展的正确方法是什么

function convert($time, $fromCalendar = 'gregorian', $toCalender = 'persian', $fromFormat = 'yyyy-MM-dd HH:mm:ss',
                 $toFormat = 'yyyy-MM-dd HH:mm:ss', $timezone = null, $local = 'fa_IR')
{
    $formatter = IntlDateFormatter::create($local . '@calendar:' . $fromCalendar, null, null, $timezone, null, $fromFormat);
    $formatter->setCalendar(IntlCalendar::createInstance(null, $local . '@calendar:' . $toCalender));
    $output = $formatter->format($formatter->parse($time));
    if ($output) return $output;
    return $formatter->getErrorMessage();
}
可以在这里找到对Intl的一个很好的介绍:

这似乎很有希望:

那么你就做:

$persian=new persian_date();  
echo $persian->date('y-m-d H:i:s');

谢谢但是我需要使用icu-project.org提供的功能,波斯日历就是我需要的日历类型。