Datemagic + Javanese Dating System

Back then when I was a first year, I make this program to calculate things related to birthdate and Javanese Dating System. I think it will be nice if I compile the calculations and explain the logic. Hopefully I can also explain how Javanese Dating (the month and the day, not the lover kind) works.

Birthdate Calculation

Leap Year

Leap year calculation was designed way back at Julius Caesar’s time.  However, after some correction, the one that we use in our calendar right now is based on Gregorian calendar started on 1583. So, after 1583, leap year is defined as a year with integer multiples of 4. However, for integer multiples of 100, if it’s not an integer multiple of 400, those years aren’t leap years. This calculation results in 365.2425 average of one year, closer to the definition of a solar year . In leap year, one additional date (February 29th) is added to the calendar making one year lasts 366 days.

The pseudo code (shamelessly taken from Wikipedia):

if year is divisible by 400 then
else if year is divisible by 100 then
else if year is divisible by 4 then


Ther are some ways to calculate weekday, the one that quite simple (but need some memorization) is Doomsday algorithm


with Gregcode=1 and month=month+12 and year=year-1 for Jan and Feb (counted as month 13 and month 14 respectively). Result of the calculation then mod7, the end number is the weekday (with 0 as Sunday until 6 as Saturday).


Ok, weton is basically Javanese version of Zodiac and shio. In Javanese dating system, a week is described as 5 days (pasaran). If you combine solar calendar’s weekday with Javanese weekday, you will have 35 combinations (7×5). This, is defined as weton. The picture below is the table to count weton from year 1901 until year 2099 for first date of the month. Red is for leap year.


    From the big table, a small table can be made with

intersection=(row code +column code) mod 5


From that equation, we can get the pasaran for first day for each month. After that, we can get modulus 5 of the date-1 for pasaran of the date, with  0=Legi, 1=Pahing, 2=Pon, 3=Wage,4=Kliwon (those are the name of the weekdays, by the way).

Zodiac and Shio

Zodiac and Shio are actually quite easy to calculate if you aren’t including the January-February shio difference (that, you can see everywhere like here). Basically you just need to count the date bracket and divide year with 12. Plus 8 first so because year 1 is monkey (code shio 9)


with =Rat, 1=Cow, 2=Tiger, 3=Rabbit, 4=Dragon, 5=Snake, 6=Horse, 7=Goat, 8=Monkey, 9=Chicken, 10=Dog, 11=Boar.


Basically the Javanese version of zodiac fortune-telling. It is counted with adding neptu of weekday and neptu of pasaran. Neptu of weekday: Sunday(5), Monday(4),Tuesday(3),Wednesday(7),Thursday(8).Friday(6),Saturday(9). Neptu of pasaran : Legi(5), Pahing(9), Pon(7), Wage(4), Kliwon(8).


1000-day Celebration

In Javanese culture, there are celebrations held after a person passed away. The celebrations will be held after 7 days, 40 days, 100 days, 1 year, 2 year, and 1000 days. Because of these, it is important to calculate what date will the celebration be held. Usually people ask some elders to calculate these kind of calculation. Although it is usually not that ‘ good’ to use means other than the elders, it is possible to do the calculation by yourself, there are some software available to do this. Back then in my first year i did these programming for my basic programming class (hence this compilation). Nowadays, after my grandfather the go-to elder in my family passed away, sometimes my family ask me to calculate those important days.

Although the calculations are actually quite simple. There are some notes to be taken in this. Javanese calendar is based on lunar calendar, so the start of the day is not at midnight, but at sunset, so there is some adjustment for the calculation. If the time of the birth or the death is after 3 o’clock (actually it is Ashar), it is considered the next day. You have to take notes also that the day of the death is considered as the first day, so if it’s 3 days, it means 2 days from the date.

Without further ado, Here are how to find those days and pasaran (add one for time roughly after 15.00, for pasaran, add from original date and mod5)

Celebration Add date Add day Add pasaran
3 days 3 2 2
7 days 7 6 1
40 days 40 4 4
100 days 100 1 4
1 year (lunar) 354 3 2
2 years (lunar) 708 2 4
1000 days 1000 5 4

That’s it. Pretty heavy on calculation but pretty educative, I hope.

About Ky

Currently Indonesian university student trying to submit more useful contents to share one's limited knowledge. Rather has wide, shallow interests, the writings will be as sporadic as it can be. Should write more scientific and field related topics, but writing muse says otherwise. Expect more on technical related writings especially softwares and apps, cultures, music, and random things.

Posted on February 1, 2010, in Learning, Plugging, Teaching and tagged , , , , , , , , , . Bookmark the permalink. 1 Comment.

Something to be curious about?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: