Repository navigation
JA CSharp Time
Codex edited this page Oct 11, 2026
·
2 revisions
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
DateTime と DateTimeOffset は日付と時刻、TimeSpan は間隔、DateOnly/TimeOnly は個々の部分を表します。継続時間を測定するには、Stopwatch を使用します。システムクロックは変更される可能性があります。タイマーはスケジュールに従ってコードを呼び出しますが、ゲーム イベントを確認するものではありません。
この例を 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");定期的な非同期待機には、PeriodicTimer があります。スクリプトが完了したらタイマーを解放し、Cancellation を WaitForNextTickAsync に転送します。スクリプト内の一時停止とリアルタイムの経過は別のものです。
公式ドキュメント: 日付、時刻、間隔、タイマー - Microsoft Learn。
ClassicUO — Bad Newbie & C# Scripts IDE