direttamente da star trek, ecco l'orologio "stellare".
regole:
la data stellare saràdi questo tipo:
yyyy.xxxx
yyyy == anno attuale
xxxx == rappresentazione decimale dei secondi trascorsi sino ad adesso.
ovvero:
il numero si secondi in un anno cambia a seconda della bisestilitÃÂ
------ se c'è qualche fan di star trek sapràche la data stellare è un invenzione e che nella seria si utilizzavano solo numeri casuali. questa è invece la notazione dell'ultimo film.
Codice:
#!/usr/bin/perl -w
($sec,$min,$hour,$giorni,$mese,$anno) = localtime(time);
$anno += 1900;
if (($anno % 4 == 0 && $anno % 100 != 0) || $anno % 400 == 0) {$k=1; $time=31622400} else {$k=0; $time=31536000};
if ($mese == 0) { $days = $giorni};
if ($mese == 1) { $days = 31 + $giorni};
if ($mese == 2) { $days = 59 + $k + $giorni};
if ($mese == 3) { $days = 90 + $k + $giorni};
if ($mese == 4) { $days = 120 + $k + $giorni};
if ($mese == 5) { $days = 151 + $k + $giorni};
if ($mese == 6) { $days = 181 + $k + $giorni};
if ($mese == 7) { $days = 212 + $k + $giorni};
if ($mese == 8) { $days = 243 + $k + $giorni};
if ($mese == 9) { $days = 273 + $k + $giorni};
if ($mese == 10) { $days = 304 + $k + $giorni};
if ($mese == 11) { $days = 334 + $k + $giorni};
$secs = ($days-1)*86400+$hour*3600+$min*60+$sec;
$stardate = (($secs*9999)/$time);
$stardate = "$anno.".sprintf("%.0f", $stardate);
print "\n> Data Stellare $stardate\n\n";
regole:
la data stellare saràdi questo tipo:
yyyy.xxxx
yyyy == anno attuale
xxxx == rappresentazione decimale dei secondi trascorsi sino ad adesso.
ovvero:
Codice:
9999 : numerodisecondinunanno = xxxx : numerodiseconditrascorsinoadadesso
xxxx = (9999*seconditrascorsi)/secondianno
il numero si secondi in un anno cambia a seconda della bisestilitÃÂ
------ se c'è qualche fan di star trek sapràche la data stellare è un invenzione e che nella seria si utilizzavano solo numeri casuali. questa è invece la notazione dell'ultimo film.