示例#1
0
 /**
  * Set nakshatra start and end.
  * 
  * @return void
  */
 protected function setNakshatraStartEnd()
 {
     if ($this->optionWithAbhijit) {
         switch ($this->nakshatraKey) {
             case 21:
                 $this->nakshatraStart = Math::dmsMulti(Nakshatra::$arc, 20);
                 $this->nakshatraEnd = ['d' => 276, 'm' => 40];
                 break;
             case 28:
                 $this->nakshatraStart = ['d' => 276, 'm' => 40];
                 $this->nakshatraEnd = ['d' => 280, 'm' => 53, 's' => 20];
                 break;
             case 22:
                 $this->nakshatraStart = ['d' => 280, 'm' => 53, 's' => 20];
                 $this->nakshatraEnd = Math::dmsMulti(Nakshatra::$arc, 22);
                 break;
             default:
                 $this->nakshatraStart = Math::dmsMulti(Nakshatra::$arc, $this->nakshatraKey - 1);
                 $this->nakshatraEnd = Math::dmsSum($this->nakshatraStart, Nakshatra::$arc);
         }
     } else {
         if ($this->nakshatraKey == 28) {
             throw new \Jyotish\Panchanga\Exception\InvalidArgumentException("Parameters of 28 nakshatra are determined only with option 'withAbhijit' = true.");
         }
         $this->nakshatraStart = Math::dmsMulti(Nakshatra::$arc, $this->nakshatraKey - 1);
         $this->nakshatraEnd = Math::dmsSum($this->nakshatraStart, Nakshatra::$arc);
     }
 }