In C# .NET, un singolo segno di spunta rappresenta un centinaio di nanosecondi o un decimo di milionesimo di secondo. [Source].
Pertanto, per calcolare il numero di giorni dal numero di zecche (arrotondato ai numeri interi più vicini), prima calcolo il numero di secondi moltiplicando per dieci milioni e quindi moltiplicando quello per il numero di secondi in un giorno (60 secondi in minuto, 60 minuti in ora, 24 ore in giorno). Io uso l'operatore modulo (%) per ottenere i valori rimanenti che costituiscono la durata di ore e minuti.
var time = 3669905128; // Time value in ticks
var days = Math.floor(time/(24*60*60*10000000)); // Math.floor() rounds a number downwards to the nearest whole integer, which in this case is the value representing the day
var hours = Math.round((time/(60*60*10000000)) % 24); // Math.round() rounds the number up or down
var mins = Math.round((time/(60*10000000)) % 60);
console.log('days: ' + days);
console.log('hours: ' + hours);
console.log('mins: ' + mins);
Quindi, nell'esempio sopra, la quantità di zecche equivale a 6 minuti (arrotondato per eccesso).
E per fare un altro esempio, con 2.193.385.800.000.000 di zecche, otteniamo 2538 giorni, 15 ore e 23 minuti.
fonte
2013-03-18 20:29:41
si prega di usare '10e7' invece di' 10000000', questo è ciò che la notazione esponenziale è utile per! – antonijn
@Antonijn: Questo è abbastanza [comportamento accettabile] (http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/). – MyCodeSucks
@ CL4PTR4P Ok, non ne ero a conoscenza, grazie per avermi illuminato! – antonijn