Skip to content

CSharp Time

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Дата, час, інтервали та таймери

Посібник C# · Приклади UO

DateTime та DateTimeOffset описують дату та час, TimeSpan — інтервал, DateOnly/TimeOnly — окремі частини. Для вимірювання тривалості використовуйте Stopwatch; системний годинник може змінитися. Таймер викликає код за розкладом та не підтверджує ігрові події.

Простий приклад (Example.cs)

Збережіть цей приклад окремо як Example.cs. Запускайте його незалежно від інших прикладів на сторінці.

Example.cs:

// PROJECT-EXAMPLE
var delay = System.TimeSpan.FromMilliseconds(10);
await System.Threading.Tasks.Task.Delay(delay);
System.Console.WriteLine("Done");

Результат:

Done
var started = System.Diagnostics.Stopwatch.StartNew();
await WaitAsync(100);
UO.Print($"Elapsed: {started.ElapsedMilliseconds} ms");
DateTimeOffset now = DateTimeOffset.UtcNow;
TimeSpan interval = TimeSpan.FromSeconds(2);
UO.Print($"UTC: {now:O}; interval: {interval.TotalMilliseconds} ms");

Для періодичного async-очікування існує PeriodicTimer. При завершенні сценарію звільняйте таймер і передавайте Cancellation у WaitForNextTickAsync. Пауза сценарію та перебіг реального часу — різні речі.

Офіційна документація: Дата, час, інтервали та таймери – Microsoft Learn.

Clone this wiki locally