Прочитать на английском

Поделиться через


DateTime.Ticks Свойство

Определение

Возвращает число тактов, которое представляет дату и время этого экземпляра.

public long Ticks { get; }

Значение свойства

Число тактов, которое представляет дату и время этого экземпляра. Это значение находится в диапазоне от DateTime.MinValue.Ticks до DateTime.MaxValue.Ticks.

Примеры

В следующем примере свойство используется Ticks для отображения количества тактов, прошедших с начала XXI века, и для создания экземпляра TimeSpan объекта . Затем TimeSpan объект используется для отображения затраченного времени с помощью нескольких других интервалов времени.

DateTime centuryBegin = new DateTime(2001, 1, 1);
DateTime currentDate = DateTime.Now;

long elapsedTicks = currentDate.Ticks - centuryBegin.Ticks;
TimeSpan elapsedSpan = new TimeSpan(elapsedTicks);

Console.WriteLine("Elapsed from the beginning of the century to {0:f}:",
                   currentDate);
Console.WriteLine("   {0:N0} nanoseconds", elapsedTicks * 100);
Console.WriteLine("   {0:N0} ticks", elapsedTicks);
Console.WriteLine("   {0:N2} seconds", elapsedSpan.TotalSeconds);
Console.WriteLine("   {0:N2} minutes", elapsedSpan.TotalMinutes);
Console.WriteLine("   {0:N0} days, {1} hours, {2} minutes, {3} seconds",
                  elapsedSpan.Days, elapsedSpan.Hours,
                  elapsedSpan.Minutes, elapsedSpan.Seconds);

// This example displays an output similar to the following:
//
// Elapsed from the beginning of the century to Thursday, 14 November 2019 18:21:
//    595,448,498,171,000,000 nanoseconds
//    5,954,484,981,710,000 ticks
//    595,448,498.17 seconds
//    9,924,141.64 minutes
//    6,891 days, 18 hours, 21 minutes, 38 seconds

Комментарии

Один такт представляет собой 100 наносекунд ( одна миллионная секунды). Есть 10000 тактов в миллисекунды (см. TicksPerMillisecond) и 10 миллионов тактов в секунду.

Значение этого свойства представляет количество 100-наносекундных интервалов, прошедших с 12:00:00 полуночи 1 января 0001 года в григорианском календаре, который представляет MinValue. Он не включает количество тактов, связанных с високосными секундами. Если свойству объекта DateTime присвоено Kind значение Local, его такты представляют время, прошедшее с 12:00:00 полуночи 1 января 0001 года по местному времени, как указано текущим параметром часового пояса. DateTime Если свойство объекта Kind имеет значение Utc, его такты представляют время, прошедшее с 12:00:00 полуночи 1 января 0001 г. в универсальном координированном времени. Если свойству DateTime объекта Kind присвоено значение Unspecified, его такты представляют время, прошедшее с 12:00:00 полуночи 1 января 0001 года в неизвестном часовом поясе.

Как правило, такты представляют время в соответствии с часовыми поясами, указанными свойством Kind .

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0