# Data stellare

La data stellare (in inglese Stardate), talora anche data astrale, è un sistema di datazione inventato per la saga fantascientifica di Star Trek.
Gli episodi della serie classica di Star Trek iniziano generalmente con la voce del capitano Kirk che registra le sue annotazioni sul diario di bordo dell'Enterprise, citando sempre la data stellare. Quello del diario di bordo è un espediente narrativo utilizzato per far iniziare le storie in medias res e per sintetizzare lo svolgersi di eventi poco importanti ai fini dell'azione nel corso delle puntate.
Nel corso della serie classica di Star Trek non esisteva un criterio metodologico di assegnazione della data stellare. Solo successivamente, in The Next Generation, fu adottato un algoritmo per il suo calcolo: la prima cifra è sempre 4 e la seconda cifra corrisponde al numero della stagione alla quale appartiene l'episodio in questione. Le ultime tre cifre dell'intero vanno da 000 a 999 a seconda del momento della stagione nel quale si trova l'episodio. Le cifre dopo il punto sono completamente casuali.
Si noti comunque che, mentre nella serie classica la progressione della data stellare coincide con il progressivo scorrere del tempo rispetto alla numerazione delle puntate, in Next Generation spesso il numero della puntata non corrisponde al progressivo tempo numerico stellare. Nella prima stagione, ad esempio, Wesley Crusher viene promosso allievo ufficiale in data stellare 41263.4 mentre, in una puntata successiva che riporta la data stellare del 41242.4, vediamo il giovane ai comandi dell'Enterprise come cadetto e non interdetto al ponte di comando come la data stellare antecedente suggerirebbe.

## Calcolo della data stellare

Vista la mancanza di un metodo ufficiale per calcolare la data stellare in modo matematico, la fanbase ne ha sviluppati alcuni del tutto non ufficiali, slegati dal binomio "stagione-puntata" e quindi utilizzabili per convertire qualsiasi data standard.

### Metodo algebrico

Approssimazione matematica sviluppata da Wilford Nusser, si basa sul principio per il quale 1000 unità di data stellare corrispondono a un anno standard terrestre. Da ciò deriva quindi la formula:
$K\cdot SecondiTrascorsi$
dove K è il rapporto fra 1000 e i secondi che compongono un anno. Ovviamente il calcolo varia in presenza di anni bisestili, benché la differenza sia minima, come si evince nei valori approssimati di seguito indicati:
* K (normale) = 3,170979×10$^{−5}$
* K (bisestile) = 3,162315×10$^{−5}$
Con tale metodo il 21 dicembre 2016 sarebbe espresso in data stellare come 972.602739726.
È altrettanto evidente che la formula sopra indicata mal si presta ad un uso istantaneo e può essere meglio esplicitata nella seguente:
$\left\{\left[\left(Anno-AnnoBase\right)+\left({\frac {Giorno}{GiorniAnno}}\right)\right]\cdot 1000\right\}+\left\{\left[\left(Ora\cdot 3600\right)+\left(Minuti\cdot 60\right)+Secondi\right]\cdot K\right\}$
Nella quale:
* Anno è l'anno corrente.
* AnnoBase è una specie di anno zero. Viene di solito usato l'anno di fondazione della Federazione Unita dei Pianeti (anno 2161); tuttavia alcuni fan usano anche il 2000 come anno base o l'anno della propria nascita, così da risolvere l'inconveniente della data stellare negativa.
* Giorno è il numero di giorni trascorso dall'inizio dell'anno.
* GiorniAnno è il numero totale di giorni che compongono l'anno (365 o 366), anche se tuttavia, utilizzando la media pesata, il valore della data stellare risulta inalterato, ovvero 365.2425.
* Ora è l'ora di quando si vuole trovare la data stellare espressa nel formato 00:00 - 23:59
* Minuti sono i minuti.
* Secondi sono i secondi, benché tale variabile sia spesso ignorata in quanto di fatto ininfluente.
* K è la costante dipendente dalla natura dell'anno, se bisestile o normale.
Le ore 11:40:00 del citato 21 dicembre 2016, così calcolata, diventerebbe 16971.2735275 prendendo il 2000 quale anno base.
In alternativa alla sopracitata formula, si può usare:
{[(Anno Corrente - 2323)] + [(Giorni Trascorsi / Durata Anno)] + [Minuti /(Durata Anno*24*60)]} * 1000dove "durata anno" è uguale a 365.2425.
In generale il risultato viene arrotondato alla seconda o terza cifra decimale poiché è il numero sufficiente di decimali per poter eseguire abbastanza accuratamente il processo di conversione inverso, ovvero da data stellare a data standard.
Se invece si ritiene sufficiente un'approssimazione più generale, si può eseguire semplicemente la prima parte della formula, ovvero:
$\left[\left(Anno-AnnoBase\right)+\left({\frac {Giorno}{GiorniAnno}}\right)\right]\cdot 1000$
Per esempio il 21 dicembre 2016 (supponendo come AnnoBase il 2000) diventa 16972.6027397
Nella quale: U = Tempo Unix, SD = trunc(1000*(U/86400/365.25 + 25)) + U/86400 mod 1.
Per esempio il 9 Marzo 2023 alle 02:24 (supponendo come AnnoBase il 1945) diventa 78183.10.

### Metodo della composizione

In vari siti web, la data stellare viene creata semplicemente componendo i numeri della datazione standard. Il metodo più usato è certamente: $Anno|NumeroMese.Giorno$
Per esempio il 13 agosto 2006 diventa: 200608.13
Ovviamente questo metodo offre una minore accuratezza rispetto al primo ma una immediatezza senza paragoni.