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?

Respostas:



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 ...


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;

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;



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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.