question: public static long persianToJulian ( long year , int month , int day ) { return 365L * ( ( ceil ( year - 474L , 2820D ) + 474L ) - 1L ) + ( ( long ) Math . floor ( ( 682L * ( ceil ( year - 474L , 2820D ) + 474L ) - 110L ) / 2816D ) ) + ( PersianCalendarConstants . PERSIAN_EPOCH - 1L ) + 1029983L * ( ( long ) Math . floor ( ( year - 474L ) / 2820D ) ) + ( month < 7 ? 31 * month : 30 * month + 6 ) + day ; }
target:  Converts a provided Persian (Shamsi) date to the Julian Day Number (i.e. the number of days since January 1 in the year 4713 BC). Since the Persian calendar is a highly regular calendar, converting to and from a Julian Day Number is not as difficult as it looks. Basically it's a mather of dividing, rounding and multiplying. This routine uses Julian Day Number 1948321 as focal point, since that Julian Day Number corresponds with 1 Farvardin (1) 1.