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?

John Saunders
źródło

Odpowiedzi:

142
TimeSpan.FromTicks(28000000000).TotalMinutes;
Patrik Hägne
źródło
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 ...

Patrick Desjardins
źródło
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;
thinkbeforecoding
źródło
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;
Jon Skeet
źródło
4

TimeSpan.FromTicks (28000000000) .TotalMinutes;

Mike Scott
źródło
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

zaheer ahmad
źródło