示例#1
0
 /**
  * Create a new Date
  *
  * @param  Year                 $year
  * @param  Month                $month
  * @param  MonthDay             $day
  * @throws InvalidDateException
  */
 public function __construct(Year $year, Month $month, MonthDay $day)
 {
     \DateTime::createFromFormat('Y-F-j', \sprintf('%d-%s-%d', $year->toNative(), $month, $day->toNative()));
     $nativeDateErrors = \DateTime::getLastErrors();
     if ($nativeDateErrors['warning_count'] > 0 || $nativeDateErrors['error_count'] > 0) {
         throw new InvalidDateException($year->toNative(), $month->toNative(), $day->toNative());
     }
     $this->year = $year;
     $this->month = $month;
     $this->day = $day;
 }
示例#2
0
 public function testGetYear()
 {
     $date = new Date(new Year(2013), Month::DECEMBER(), new MonthDay(3));
     $year = new Year(2013);
     $this->assertTrue($year->sameValueAs($date->getYear()));
 }
示例#3
0
 public function testNow()
 {
     $year = Year::now();
     $this->assertEquals(date('Y'), $year->toNative());
 }