Как перевести тики в минуты?

92

У меня значение тиков 28000000000, которое должно составлять 480 минут, но как я могу быть уверен? Как преобразовать значение тиков в минуты?

Джон Сондерс
источник

Ответы:

142
TimeSpan.FromTicks(28000000000).TotalMinutes;
Патрик Хэгне
источник
118

Один тик представляет сто наносекунд или одну десятимиллионную долю секунды. ОТ MSDN.

Итак, 28 000 000 000 * 1/10 000 000 = 2 800 сек. 2800 сек / 60 = 46,6666 мин

Или вы можете сделать это программно с помощью TimeSpan:

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

Оба дают мне 46 минут, а не 480 минут ...

Патрик Дежарден
источник
LOL, кто не проголосовал за меня? И математические, и кодированные действительно дают мне 46 минут, а не эти 480 минут.
Патрик Дежарден,
1
Может быть, кто-то проголосовал за округление 46,6666 до 46? ;-) Нет, на самом деле, я по ошибке проголосовал за вас, я удалил голос против. Сожалею!
Патрик Хэгне,
1
На самом деле, для ясности, я не только снял голос "против". Я проголосовал за ваш исчерпывающий ответ. Сэр.
Патрик Хэгне,
5
Проголосовали за включение математической версии, а также версии TimeSpan.
Роб Кеннеди,
30

Вы можете сделать так:

TimeSpan duration = new TimeSpan(tickCount)
double minutes = duration.TotalMinutes;
думать перед кодированием
источник
3
лол - вы ответили на минуту раньше, чем Джон Скит, но у его ответа больше голосов !?
Christian Payne,
21

На мой взгляд, самый очевидный способ - использовать TimeSpan.FromTicks, а затем преобразовать его в минуты:

TimeSpan ts = TimeSpan.FromTicks(ticks);
double minutes = ts.TotalMinutes;
Джон Скит
источник
4

TimeSpan.FromTicks (28000000000) .TotalMinutes;

Майк Скотт
источник
1
DateTime mydate = new Date(2012,3,2,5,2,0);
int minute = mydate/600000000;

вернет минуты от заданной даты (mydate) до текущего времени. надеюсь, что это поможет. ура

Захир Ахмад
источник