Jak zamienić takty na minuty?


92

Mam wartość ticków 28000000000, która powinna wynosić 480 minut, ale skąd mam pewność? Jak przekonwertować wartość ticków na minuty?

Odpowiedzi:



118

Pojedynczy tyknięcie oznacza sto nanosekund lub jedną dziesięciomilionową część sekundy. Z MSDN.

Czyli 28 000 000 000 * 1/10 000 000 = 2800 sek. 2800 s / 60 = 46,6666 min

Lub możesz to zrobić programowo z TimeSpan:

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

Obie dają mi 46 minut, a nie 480 minut ...


lol kto na mnie zagłosował? Zarówno matematyczna, jak i kodowana naprawdę dają mi 46 minut, a nie te 480 minut.
Patrick Desjardins

1
Może ktoś w dół głosował za zaokrągleniem 46,6666 do 46? ;-) Nie, właściwie, głosowałem na ciebie „negatywnie” przez pomyłkę, teraz usunąłem głos „przeciw”. Przepraszam!
Patrik Hägne

1
Właściwie, żeby było jasne, nie tylko usunąłem głos przeciwny. Głosowałem na twoją wyczerpującą odpowiedź. Pan.
Patrik Hägne

5
Zagłosowano za dołączeniem wersji matematycznej oraz wersji TimeSpan.
Rob Kennedy

29

Możesz to zrobić w ten sposób:

TimeSpan duration = new TimeSpan(tickCount)
double minutes = duration.TotalMinutes;

3
lol - odpowiedziałeś minutę wcześniej niż Jon Skeet, ale jego odpowiedź ma więcej głosów !?
Christian Payne,

21

Moim zdaniem najbardziej przejrzystym sposobem jest użycie TimeSpan.FromTicks, a następnie przekonwertowanie tego na minuty:

TimeSpan ts = TimeSpan.FromTicks(ticks);
double minutes = ts.TotalMinutes;



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

zwróci minuty od podanej daty (moja data) do bieżącego czasu. mam nadzieję, że to help.cheers

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.