2

ペルシャ暦の日付を対応するグレゴリオ暦の日付に変換する関数が必要です。このページの例 #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 の優れた紹介は、http: //devzone.zend.com/1500/internationalization-in-php-53/にあります。

4

1 に答える 1

1

これは有望に思えます: http://www.phpclasses.org/package/4852-PHP-Convert-and-format-dates-of-the-Persian-calendar.html

次に、次のようにします。

$persian=new persian_date();  
echo $persian->date('y-m-d H:i:s');
于 2014-06-05T13:18:19.147 に答える