Como faço para converter ticks em minutos?

91

Tenho um valor de ticks de 28000000000, que deve ser 480 minutos, mas como posso ter certeza? Como faço para converter um valor de ticks em minutos?

John Saunders
fonte

Respostas:

140
TimeSpan.FromTicks(28000000000).TotalMinutes;
Patrik Hägne
fonte
117

Um único tique representa cem nanossegundos ou um décimo milionésimo de um segundo. FROM MSDN.

Portanto, 28 000 000 000 * 1/10 000 000 = 2 800 seg. 2 800 s / 60 = 46,66666 min

Ou você pode fazer isso de forma programática com TimeSpan:

    static void Main()
    {
        TimeSpan ts = TimeSpan.FromTicks(28000000000);
        double minutesFromTs = ts.TotalMinutes;
        Console.WriteLine(minutesFromTs);
        Console.Read();
    }

Ambos me dão 46 min e não 480 min ...

Patrick Desjardins
fonte
lol quem votou em mim? Tanto o matemático quanto o codificado realmente me dão 46 min e não este 480 min.
Patrick Desjardins
1
Talvez alguém tenha votado contra você por arredondar 46,6666 a 46? ;-) Não, na verdade, votei contra você por engano, removi o voto negativo agora. Desculpe!
Patrik Hägne
1
Na verdade, para ser claro, não retirei apenas o voto negativo. Votei sua resposta abrangente. Senhor.
Patrik Hägne
5
Votado por incluir a versão matemática, bem como a versão TimeSpan.
Rob Kennedy
29

Você pode fazer desta forma:

TimeSpan duration = new TimeSpan(tickCount)
double minutes = duration.TotalMinutes;
pense antes de decodificar
fonte
3
lol - você respondeu um minuto antes do Jon Skeet, mas a resposta dele tem mais votos !?
Christian Payne
21

A maneira mais clara, na minha opinião, é usar TimeSpan.FromTicks e depois convertê-lo em minutos:

TimeSpan ts = TimeSpan.FromTicks(ticks);
double minutes = ts.TotalMinutes;
Jon Skeet
fonte
10

existem 600 milhões de tiques por minuto. ticksperminute

Blounty
fonte
1
ticks / TimeSpan.TicksPerMinute
Lars Truijens
3

TimeSpan.FromTicks (28000000000) .TotalMinutes;

Mike Scott
fonte
1
DateTime mydate = new Date(2012,3,2,5,2,0);
int minute = mydate/600000000;

retornará os minutos de uma data determinada (mydate) até a hora atual. espero que isso ajude.

zaheer ahmad
fonte