Environment.TickCount Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает время, истекшее с момента загрузки системы (в миллисекундах).
public:
static property int TickCount { int get(); };
public static int TickCount { get; }
static member TickCount : int
Public Shared ReadOnly Property TickCount As Integer
Значение свойства
32-битовое целое число со знаком, содержащее время, истекшее с момента с последней загрузки системы (в миллисекундах).
Примеры
В следующем примере показано, как получить положительный диапазон значений, возвращаемых свойством TickCount . Свойство TickCount циклически переключается между Int32.MinValueзначением , которое является отрицательным числом, и Int32.MaxValue каждые 49,8 дня. Этот пример кода удаляет бит знака, чтобы получить нерицательное число, которое циклически от нуля до MaxValue одного раза в 24,9 дня.
// Sample for the Environment::TickCount property
// TickCount cycles between Int32::MinValue, which is a negative
// number, and Int32::MaxValue once every 49.8 days. This sample
// removes the sign bit to yield a nonnegative number that cycles
// between zero and Int32::MaxValue once every 24.9 days.
using namespace System;
int main()
{
int result = Environment::TickCount & Int32::MaxValue;
Console::WriteLine( "TickCount: {0}", result );
}
/*
This example produces an output similar to the following:
TickCount: 101931139
*/
// Sample for the Environment.TickCount property.
// TickCount cycles between Int32.MinValue, which is a negative
// number, and Int32.MaxValue once every 49.8 days. This sample
// removes the sign bit to yield a nonnegative number that cycles
// between zero and Int32.MaxValue once every 24.9 days.
using System;
class Sample
{
public static void Main()
{
int result = Environment.TickCount & Int32.MaxValue;
Console.WriteLine("TickCount: {0}", result);
}
}
/*
This example produces an output similar to the following:
TickCount: 101931139
*/
// Sample for the Environment.TickCount property.
// TickCount cycles between Int32.MinValue, which is a negative
// number, and Int32.MaxValue once every 49.8 days. This sample
// removes the sign bit to yield a nonnegative number that cycles
// between zero and Int32.MaxValue once every 24.9 days.
open System
let result = Environment.TickCount &&& Int32.MaxValue
printfn $"TickCount: {result}"
// This example produces an output similar to the following:
// TickCount: 101931139
' Sample for the Environment.TickCount property.
' TickCount cycles between Int32.MinValue, which is a negative
' number, and Int32.MaxValue once every 49.8 days. This sample
' removes the sign bit to yield a nonnegative number that cycles
' between zero and Int32.MaxValue once every 24.9 days.
Class Sample
Public Shared Sub Main()
Dim result As Integer = Environment.TickCount And Int32.MaxValue
Console.WriteLine("TickCount: {0}", result)
End Sub
End Class
'
'This example produces an output similar to the following:
'
'TickCount: 101931139
'
Комментарии
Значение этого свойства является производным от системного таймера и хранится в виде 32-разрядного целого числа со знаком. Обратите внимание, что поскольку оно является производным от системного TickCount таймера, разрешение свойства ограничено разрешением системного таймера, которое обычно находится в диапазоне от 10 до 16 миллисекундах.
Важно!
Так как значение TickCount свойства является 32-разрядным целым числом со знаком, если система работает непрерывно, TickCount будет увеличиваться с нуля до Int32.MaxValue примерно 24,9 дней, а затем перейти к Int32.MinValue, которое является отрицательным числом, а затем в течение следующих 24,9 дней будет увеличиваться до нуля. Эту проблему можно обойти, вызвав функцию Windows GetTickCount , которая сбрасывается до нуля примерно через 49,7 дней, или вызвав функцию GetTickCount64 .
TickCount отличается от DateTime.Ticks свойства , которое представляет собой количество 100-наносекундных интервалов, которые прошли с 1/01/0001, 12:00.
Используйте свойство , DateTime.Now чтобы получить текущие локальные дату и время на этом компьютере.