Open yalu opened 7 years ago
@yalu thanks! this definitely sounds interesting. My impression so far is that the calendar systems like bikram samvat can not be accurately calculated infinitely because it is much more precise than Gregorian calendars. I will try to find that book and see if this can be implemented but definitely interesting idea.. I had no idea such a book existed.
I see you already checked out pycalcal and found example web interface is 404. You can still interact via repl or in code. While I'm not so familiar with python, I found the implementation quite accurate as per original LISP.
Do get the book and go over it, it is the best out there. The rigour put into it by the authors is simply breathtaking. The book does point out:
The Nepali calendar has the same structure as the Hindu solar calendar, but the precise method employed has not been divulged. (page 277)
If we can figure out the "precise method employed" we ought to be successful.
Hindu calendars differ slightly from region to region, Pundit lineage to another. If some stuff like sunrise time calculation is so arbitrary why there is not a standard and open documentation of the national calendar?
I don't understand why something as fundamental as time is being controlled by privileged minority and the general population has to be at their mercy.
I have ported the LISP code pertinent to hindu calendars to Clojure and played with it a while ago. I mean to continue doing so whenever I get the time, and eventually open-source it.
I believe this is also algorithmic http://www.cc.kyoto-su.ac.jp/~yanom/pancanga/ but a different implementation in perl.
"algorithmic" Nepali Date Lib that goes "infinitely" in both direction past and future - open source and verifiable/improved upon by anybody interested.
It maybe possible to do this following the work of the book "Calendrical Calculations"
https://github.com/search?q=calendrical+calculations
It originally has ancient and modern hindu calendars in Common Lisp, which has been ported to various languages [follow the above link].