Ищу функцию конвертирования дат из юлианского календаря в григорианский и обратно в JS

подскажите есть ли в js функции для конвертирования дат из юлианского календаря в григорианский и обратно? и возможно ли высчитать день недели для юлианского календаря?


Ответы (1 шт):

Автор решения: Armen

осталось найти закономерность почему последняя цифра до точки то на 1 больше то на 1 меньше то все норм)) .... удачи с нахождением)))))))

const createJulianDate = (dateArr) =>{
    dateArr.forEach(data => {
        let month = data.getMonth()
        let year = data.getFullYear()
        let day = data.getDate()

        let a = ((14 - month) / 12)
        let y = year + 4800 - a
        let m = month + (12 * a) - 3

        const aaa = (153 * m + 2) / 5
        const bbb = y / 4
        const ccc = y / 100
        const ddd = y / 400

        let JDN = day + aaa + (365 * y) + bbb - ccc + ddd  - 32045

        let hh = +((data.getHours() - 12)/24)
        let mm = +(data.getMinutes()/1440)
        let ss = +(data.getSeconds()/86400)

        const JD = JDN + hh + mm + ss

        console.log(JD + (JD - JDN))
    })
}

let dateArr = [
    new Date('2021','7','11'),
    new Date('2011','4','26'),
    new Date('2017','7','24'),
    new Date('2016','4','6'),
    new Date('2015','4','11'),
    new Date('2014','11','13'),
    new Date('2013','1','26'),
    new Date('2012','8','26'),
    new Date('2009','9','12'),
]

createJulianDate(dateArr)
→ Ссылка