|
|
import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from "./CalendarDate.mjs"; |
|
|
import {mod as $2b4dce13dd5a17fa$export$842a2cf37af977e1} from "./utils.mjs"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const $f3ed2e4472ae7e25$var$PERSIAN_EPOCH = 1948320; |
|
|
|
|
|
const $f3ed2e4472ae7e25$var$MONTH_START = [ |
|
|
0, |
|
|
31, |
|
|
62, |
|
|
93, |
|
|
124, |
|
|
155, |
|
|
186, |
|
|
216, |
|
|
246, |
|
|
276, |
|
|
306, |
|
|
336 |
|
|
]; |
|
|
class $f3ed2e4472ae7e25$export$37fccdbfd14c5939 { |
|
|
fromJulianDay(jd) { |
|
|
let daysSinceEpoch = jd - $f3ed2e4472ae7e25$var$PERSIAN_EPOCH; |
|
|
let year = 1 + Math.floor((33 * daysSinceEpoch + 3) / 12053); |
|
|
let farvardin1 = 365 * (year - 1) + Math.floor((8 * year + 21) / 33); |
|
|
let dayOfYear = daysSinceEpoch - farvardin1; |
|
|
let month = dayOfYear < 216 ? Math.floor(dayOfYear / 31) : Math.floor((dayOfYear - 6) / 30); |
|
|
let day = dayOfYear - $f3ed2e4472ae7e25$var$MONTH_START[month] + 1; |
|
|
return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, year, month + 1, day); |
|
|
} |
|
|
toJulianDay(date) { |
|
|
let jd = $f3ed2e4472ae7e25$var$PERSIAN_EPOCH - 1 + 365 * (date.year - 1) + Math.floor((8 * date.year + 21) / 33); |
|
|
jd += $f3ed2e4472ae7e25$var$MONTH_START[date.month - 1]; |
|
|
jd += date.day; |
|
|
return jd; |
|
|
} |
|
|
getMonthsInYear() { |
|
|
return 12; |
|
|
} |
|
|
getDaysInMonth(date) { |
|
|
if (date.month <= 6) return 31; |
|
|
if (date.month <= 11) return 30; |
|
|
let isLeapYear = (0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(25 * date.year + 11, 33) < 8; |
|
|
return isLeapYear ? 30 : 29; |
|
|
} |
|
|
getEras() { |
|
|
return [ |
|
|
'AP' |
|
|
]; |
|
|
} |
|
|
getYearsInEra() { |
|
|
|
|
|
|
|
|
return 9377; |
|
|
} |
|
|
constructor(){ |
|
|
this.identifier = 'persian'; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
export {$f3ed2e4472ae7e25$export$37fccdbfd14c5939 as PersianCalendar}; |
|
|
|
|
|
|