#### Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

## Comparing Dates

Hi All

I am trying to write a script that loads a text file and announces messages....
Eg.
\$Start_Date,\$End_Date,\$Message
12/11/2013, 12/16/2013, Concert in the Park this week
Etc.

Problem I have is that EZ-Script runs a calculation on the dates so that they become month divided by Day divided by year... So as a work around I separated the date into integers.
Eg.
\$Start_Month, \$Start_Day, \$Start_Year, \$End_Month, \$End_Day, \$End_Year, \$Message
12, 11, 2013, 12, 16, 2012, Happy Birthday George

Now it seems to me the best way to compare the Start_dates and End_Dates with the current date is to convert them to a digital format first (Preventing complications when dates cross years).

My question for the masses is :
Has anyone got a script to convert a Georgian date into a Julian number?

I need to be able to take the three variables \$X_Day, \$X_Month and \$X_Year and end up with a Julian number.

@Tameion

Your robot can be more than a simple automated machine with the power of ARC Pro!

Related Content
Synthiam
Based on your post activity, we found some content that may be interesting to you. Explore these other tutorials and community conversations.
United Kingdom
#1
Have you tried using different date formats i.e. 2013-01-24?

Georgian to Julian is a very complex formula from what I remember... Is there not an easier way of doing it?
PRO
New Zealand
#2
Hey Rich.... Nah I found it problemattic converting back and forth and then comparing strings using the date function.... something DJ has set up stores a different result when I compare and print .... anyway I found a wiki on calculating it so had a go myself... I was just being lazy and wanted to avoid another late night but I'm hooked on a project! (It's 2:45am and I have work in the morning.... LOL)

Anyway I thought I'd post the result here .... it's a little spaghetti and I had to loop it a bit as I had to use the Round function to fill in for the lack of integer function... but where there is a will there is a way.

The calculator will give you the current date as a Julian. Then what ever other date yu convert can be compared to this for an past or future comparison.

#Julian Date Calculator
# Credit to http://quasar.as.utexas.edu/BillInfo/JulianDatesG.html

\$Y=\$Year
\$M=\$Month
\$D=\$Day

\$A1 = \$Y/100
\$A2=Round(\$A1,0)
IF (\$A1<\$A2)
\$A=\$A2-1
ElseIF (\$A1>=\$A2)
\$A=\$A2
ENDIF

\$B1 = \$A/4
\$B2=Round(\$B1,0)
IF (\$B1<\$B2)
\$B=\$B2-1
ElseIF (\$B1>=\$B2)
\$B=\$B2
Endif

\$C1 = 2 - \$A + \$B
\$C2=Round(\$C1,0)
IF (\$C1<\$C2)
\$C=\$C2-1
ElseIF (\$C1>=\$C2)
\$C=\$C2
ENDIF

\$E1 = 365.25 * (\$Y+4716)
\$E2=Round(\$E1,0)
IF (\$E1<\$E2)
\$E=\$E2-1
ElseIF (\$E1>=\$E2)
\$E=\$E2
ENDIF

\$F1 = 30.6001 * (\$M+1)
\$F2=Round(\$F1,0)
IF (\$F1<\$F2)
\$F=\$F2-1
ElseIF (\$F1>=\$F2)
\$F=\$F2
ENDIF

\$JD= \$C + \$D + \$E + \$F - 1524.5
Print (\$JD)