Following algorithm is used to convert Gregorian date into Thasathi Date.
Let Y=Year (CE), M=Month D=Date
Step 1: Convert Common Era into Thiruvalluvar Era.
Thiruvalluvar Year Ty = Y+30 (M=1, D<15)
=Y+31 (Others)
Step 2: Determine Leap Index,
L=0 for Normal Years
L=1 for Leap Years (Divisble by4, Not divisible by 100, Divisible by 400)
Step 3: For January Month,
Tm=13, D=D+14 (Before Jan 15)
Tm=1, D=D-14 (On or After Jan 15)
Step 4: For February Month,
Tm=1, D=D+17 (Before Feb 13+L)
Tm=2, D=D-12-L (On or After 13+L)
Gregorian Date Serial Number:
DSN= 30x(M-1) +D+E -->(1)
E is the additional day above 30 day months.
E=0 (Jan, Apr, May)
E=1 (Feb, June, July)
E=-1 (Mar)
E=2, Aug
E=3 (Sep, Oct)
E=4 (Nov,Dec)
Thasathi Date Serial Number:
TSN= DSN-14;
TSN=28*(Tm-1)+Td+1 -->(2)
Equating (1) and (2),
28*(Tm-1)+Td+1 +14= 30*(M-1)+D+E
28Tm-28+Td+15=30M-30+D+E
28Tm+Td=30M+D+E-17
28Tm+Td=30M+D+Z
Step 5: Determine Thasathi Date Index,
T=30*M+D-Z
where, Z=18 (Mar)
=17 (Apr, May)
=16 (June July)
=15(Aug)
=14 (Sep Oct)
=13 (Nov,Dec)
Step 6: Determine Thasathi Month and Date
Tm= Int((T)/28))
Td = 1+Rem ((T-1)/28)
Comments
Post a Comment