Нет, Environment.TickCount
не зависит от настройки системного времени. Это была моя интерпретация документации, но мое любопытство потребовало более веских доказательств, поэтому я выполнил следующий код при настройке системы назад и вперед один час:
while (true)
{
Console.WriteLine(Environment.TickCount);
Thread.Sleep(1000);
}
... и вывод показал идеальную последовательность, на которую не влияли корректировки времени.
Обновление
Поэтому я сделал еще домашнюю работу, вызванную вопросом Маркуса в комментариях ниже. Я вполне уверен (хотя и не смог подтвердить), что Environment.TickCount выполняет вызов GetTickCount
, для которого в документации указано следующее:
Разрешение GetTickCount
функция ограничена разрешением
системного таймера, который
как правило, в диапазоне 10
миллисекунд до 16 миллисекунд.
разрешение GetTickCount
На функцию также влияет
корректировки, сделанные
Функция GetSystemTimeAdjustment.
Таким образом, хотя изменение системного времени не влияет на него, похоже, что будет зависеть от настроек, вызванных вызовом SetSystemTimeAdjustment
.