Varie

Data Stellare

Per vari motivi, la data stellare nell'universo Trek viene interpretata in maniere differenti ed è difficile stabilire un metodo univoco e canonico per trasformare la data stellare nell'attuale sistema di computo del tempo. Di seguito vengono riportati alcuni metodi o interpretazioni, resta il fatto che nessuno di questi è canonico.
L'unico sistema canonico consiste nel rifarsi alle tabelle cronologiche di Okuda pubblicate nella Star Trek Chronology e alle pubblicazioni simili, anche se alcuni eventi potrebbero avere datazioni controverse.

La FASA Corporation adotta un sistema di datazione chiamato «reference stardate» che ha il formato X/YYYY.ZZ, dove X è un numero (eventualmente preceduto da un segno negativo) che identifica il secolo (0=2000-2099 d.C.); YYYY è costituito dalle ultime due cifre dell'anno e dal numero del mese; ZZ è il numero progressivo del giorno del mese.
Quindi 0/0001.1 è il 01/01/2000 e -1/6707.26 è il 26/07/67.

In The Next Generation e nelle successive produzioni la data stellare viene interpretata in maniera differente rispetto alla Serie Classica, in cui era praticamente tirata a caso.
La prima cifra (4 o 5) dovrebbe rappresentare il secolo (con un buon beneficio di inventario), la seconda rappresenta la stagione di produzione, mentre le altre cifre vengono incrementate al procedere degli episodi della stagione in maniera arbitraria.
Per quanto riguarda la seconda cifra, The Next Generation parte da 1, Deep Space Nine da 6 e Voyager da 8.

Wilford Nusser ha individuato un sistema relativamente accurato (ma non canonico) per convertire la data del vecchio calendario nella data stellare degli episodi di The Next Generation.
Date le variabili:

La formula è:
DS = [ (a - 2323) + (g / 365) ] * 1000

Bisogna comunque tenere conto di queste annotazioni:

  1. Negli anni bisestili sostituire 365 con 366.
  2. La data stellare xx000.0 non corrisponde al 1 gennaio ma al 31 dicembre.
  3. Il valore assoluto delle date stellari negative diventa più piccolo con il passare del tempo.

Dalla formula di cui sopra, derivano questi valori:

Pierluigi Lenoci ha sviluppato uno script in Java per calcolare la data stellare secondo questo algoritmo, si può scaricare lo script all'indirizzo www.hypertrek.info/files/data.js. Secondo questo algoritmo, la data stellare attuale sarebbe .

Di seguito c'è un piccolo programma QuickBASIC che converte la data stellare nel vecchio calendario.

print
print
NumDays% = 365:Month% = 1:Month$ = "December"
line input "Enter StarDate: ";SD$
SD = val(SD$)
Year% = int(SD/1000) + 2323
if (Year% /4 = int(Year% /4)) then
   NumDays% = 366
end if
DOY = (SD/1000 - Year% + 2323) * NumDays%
print
while (DOY > Month%)
      read Month$,Days%
      if (NumDays% = 366) and (Days% = 28) then
         Days% = 29
      end if
      Month% = Month% + Days%
wend
DOM = DOY - Month% + Days% + 1
if (Month% = 1) then
   Year% = Year% - 1
   DOM = DOY + 31
end if
Hour = (DOM - int(DOM)) * 24
print Year%;Month$;int(DOM);", ";int(Hour + 0.5);"hrs."

data "January",31,"February",28,"March",31,"April",30,"May",31,"June",30
data "July",31,"August",31,"September",30,"October",31,"November",30,"December"

Come si può facilmente immaginare, i vari cicli di if-endif servono per compensare gli anni bisestili.