code: private static double IndianToJD(int year, int month, int date) {
         int leapMonth, gyear, m;
         double start, jd;
  
         gyear = year + INDIAN_ERA_START;
  
  
         if(isGregorianLeap(gyear)) {
            leapMonth = 31;
            start = gregorianToJD(gyear, 3, 21);
         } else {
            leapMonth = 30;
            start = gregorianToJD(gyear, 3, 22);
         }
  
         if (month == 1) {
            jd = start + (date - 1);
         } else {
            jd = start + leapMonth;
            m = month - 2;
            m = Math.min(m, 5);
            jd += m * 31;
            if (month >= 8) {
               m = month - 7;
               jd += m * 30;
            }
            jd += date - 1;
         }
  
         return jd;
      }
docs: /*
  This routine converts an Indian date to the corresponding Julian date"
  @param year   The year in Saka Era according to Indian calendar.
  @param month  The month according to Indian calendar (between 1 to 12)
  @param date   The date in month