Understanding the Stardate System


The stardate system used in Star Trek is based on an 11 digit decimal system. A program called  "Stardate" illustrates this. This program is flawed in a few aspects*, but it still works quite well. I based this analysis off this program. This page was last updated on Stardate 21030317.56 (February 19th 2003 @ 1:30PM)

The first and second digits of the stardate represent the century:

In the stardate: 2490592.718 the 24 represents the 24th century (i.e.: 2300's AD).

The third and forth digits represent the year within the century:

In the stardate: 2490592.718 the 90 represents the 90th year in the 24th century.

The fifth, sixth, and seventh digits represent the day of the year based on a scale of 1000. The day can be calculated by dividing the day of the year (January 1st being day 1 and December 31st being day 365 on non-leap years) by 365 and multiplying by 100:

In the stardate: 2490592.718 the 592 represents August 4th during a non-leap year. This was calculated by taking the day number for August 4th (In a non-leap year, this number is 217, if it were a leap year then the number would be 218), dividing it by 365 and then multiplying the result by 100.

The decimal point is a separator between the stardate and the startime. To calculate startime, you place the military time over 2400. This will return a decimal number which you can round to three decimal places.

In the stardate: 2490592.718 the .718 represents 1722 hours military time, which is 5:22 PM.

Note: Another way of telling the date and time is the following stardate and time: 2490592 1722 hours. This way you can just give the military time and get rid of the more confusing decimal time of the day.

All of these calculations can be simplified to a simple equation:

Stardate = (Century * 105) + (Two digit year * 103) + ((Day Number / 365) * 102) + (Military Time / 2400)

And if you don't like long variable names, i.e.: more of math / science type person rather than programmer:

f(c,y,d,t) = s = c * 105 + y * 103 + ((d / 365) * 102) + t / 2400

And yes, I know parenthesis are not needed, but they look nice.

Examples (non leap year):

Gregorian Date Calculation Stardate
Century Year Day
July 4th 1776 18 76 ((31+28+31+30+31+30)+4)/365*100 1876507.000
January 10th 2003 21 03 (10)/365*100 2103003.000
August 14th 1945 20 45 ((31+28+31+30+31+30+31)+14)/365*100 2045619.000
January 1st 2000 @ 1 PM 20 00 1/365 (Hour Calculation: 13/24 = .54167) 2000003.542

* The Stardate Program that you can download from my site has the year 2000 as part of the 21st century. The 21st Century did not start until the year 2001. This is because the first year AD is 1, not 0. Another flaw this program has is when calculating the last two digits of a year that has a 0 as the third digit, like in 1903. It drops the 0 in the stardate. This 0 is still important or the rest of the digits will be off. It drops the 0 for the days as well.