将要转换的时间定义为实例,IntlCalendar
并使用其set($year,$month,$day)
方法设置日期。
$time = IntlCalendar::createInstance("Asia/Tokyo", "en_US@calendar=persian");
$time->set(1392,2,31);
//alternative way to define time using parse
/**
These constants are used to specify different formats in the constructor for DateType
and TimeType.
IntlDateFormatter::NONE (integer)
Do not include this element
IntlDateFormatter::FULL (integer)
Completely specified style (Tuesday, April 12, 1952 AD or 3:30:42pm PST)
IntlDateFormatter::LONG (integer)
Long style (January 12, 1952 or 3:30:32pm)
IntlDateFormatter::MEDIUM (integer)
Medium style (Jan 12, 1952)
IntlDateFormatter::SHORT (integer)
Most abbreviated style, only essential data (12/13/52 or 3:30pm)
*/
$fmt = new IntlDateFormatter(
'en_US@calendar=persian',
IntlDateFormatter::SHORT, //date format
IntlDateFormatter::NONE, //time format
'Asia/Tokyo',
IntlDateFormatter::TRADITIONAL
);
$time = $fmt->parse('3/31/1392 AP');
$formatter = IntlDateFormatter::create("en_US@calendar=islamic",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Asia/Tokyo',
IntlDateFormatter::TRADITIONAL);
print $formatter->format($time);
//Friday, Shaʻban 13, 1434 AH at 8:52:23 AM Japan Standard Time