示例#1
0
 /**
  * @param DOMElement[] $value
  * @param $picture
  * @param null $language
  * @return string
  * @throws InvalidArgumentException
  */
 public static function formatDate($value, $picture, $language = null)
 {
     Assert::assertArray($value);
     Assert::assertSchema($value[0], 'date');
     if (self::$dateFormatter === null) {
         // @codeCoverageIgnoreStart
         if (extension_loaded('intl')) {
             self::$dateFormatter = Functions\Formatter\IntlDateTimeFormatter::createWithFlagDate();
         } else {
             self::$dateFormatter = Functions\Formatter\DateTimeFormatter::createWithFlagDate();
         }
         // @codeCoverageIgnoreEnd
     }
     if ($language === null) {
         $locale = self::detectSystemLocale();
     } else {
         $locale = $language;
     }
     $date = DateTime::createFromFormat(XsDate::FORMAT, $value[0]->nodeValue);
     return self::$dateFormatter->format($date, $picture, $locale, 'AD');
 }
示例#2
0
 public function testJanuaryFirst2017Name()
 {
     $formatter = IntlDateTimeFormatter::createWithFlagDate();
     $this->assertSame('01-01-2017', $formatter->format(new \DateTime('2017-01-01 18:42:34.000000', new \DateTimeZone('UTC')), '[D]-[MNn]-[Y]', 'nl_NL', null));
 }