how can i use unity to convert the a date in the format dd/mm to it's day number [or julian dare]? so like july 3rd would be day 184 when it's not a leap year etc

First of all **Day Number** number is not **Julian Day**

Day Number is very basic, DateTime class of C# provides you with **Day Of Year** which is total number of days since the start of current year and leap-year phenomenon is handled within the class, see the MSDN Documentation.

All you need to do is add **System** library to your code

```
using UnityEngine;
using System.Collections;
using System;
public class myClass: MonoBehaviour {
void Start () {
Debug.Log(DateTime.Now.DayOfYear.toString());
}
void Update(){
}
}
```

And as far as **Julian Day** is concerned, it is number of total days since the beginning of **Julian Period**.

Julian Period started at **January 1, 4713 BC 12:00:00 hrs**. So you need to calculate total number of days since Jan-1,4713 BC for that take the difference between the Year (Current or any) and 4713 BC. Count total number of leap years within that period.

```
Julian Day = ( Difference of Years * 365 ) + NumberOfLeapYearsInThisPeriod
```

What this will do is add 1 day for all leap years.

**Julian Date** is more precise than **Julian Day** and is in decimal representing how much of a day has passed, remember that Julian Period started at **January 1, 4713 BC 12:00:00 hrs** at noon, meaning Julian day starts & ends on mid day.

For today **May-11,2014** Julian Day is **2456788**. Which is true before noon **12:00 hrs** after that the Julian Day is +1 which is **2456789**. So you need to write algo to which considers 24 hrs as 1, 12 hours = 0.5. And so and so forth calculations down to milliseconds.

For **May 11, 2014 11:00:00 hrs** the Julian Date is **2456788.95833**

Supposing we already have Julian Day, heres the code for Julian Date

```
int julianDay; //let's suppose we have value of Julian Day here
float julianDate;
now = DateTime.Now;
int mSecs = (((now.Hour * 60) + now.Minute) * 60 + now.Second) * 1000 + now.Millisecond;
julianDate = (mSecs < 43200000) ? --julianDay + (mSecs/43200000) : julianDay + (mSecs-43200000)/86400000;
```

Explanation is a day has 86400000 milliseconds and at mid day 43200000 millisecods. So by dividing time in milliseconds by 86400000 or 43200000 I get decimal portion of day or half day respectively.