final protected function __construct()

in src/datetime/DateTime/DateTime.php [352:381]


  final protected function __construct(
    Zone $timezone,
    protected Timestamp $timestamp,
    int $year,
    int $month,
    int $day,
    int $hours,
    int $minutes,
    int $seconds,
    int $nanoseconds,
  ) {
    if (!(
      $month >= 1 && $month <= 12 &&
      $day >= 1 && $day <= _DateTime\days_in_month($year, $month) &&
      $hours >= 0 && $hours < 24 &&
      $minutes >= 0 && $minutes < 60 &&
      $seconds >= 0 && $seconds < 60 &&  // leap seconds not supported
      $nanoseconds >= 0 && $nanoseconds < _DateTime\NS_IN_SEC
    )) {
      throw new Exception('Invalid date/time.');
    }
    $this->timezone = $timezone;
    $this->year = $year;
    $this->month = $month;
    $this->day = $day;
    $this->hours = $hours;
    $this->minutes = $minutes;
    $this->seconds = $seconds;
    $this->nanoseconds = $nanoseconds;
  }