KO CSharp Time - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
ะฃะบัะฐัะฝััะบะฐ ยท ะ ัััะบะธะน ยท English ยท Deutsch ยท Franรงais ยท Italiano ยท Espaรฑol ยท ็น้ซไธญๆ ยท ๆฅๆฌ่ช ยท ํ๊ตญ์ด
๋ ์ง, ์๊ฐ, ๊ฐ๊ฒฉ ๋ฐ ํ์ด๋จธ
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");
์ฃผ๊ธฐ์ ๋น๋๊ธฐ ๋๊ธฐ์ ๊ฒฝ์ฐ PeriodicTimer๊ฐ ์์ต๋๋ค. ์คํฌ๋ฆฝํธ๊ฐ ์๋ฃ๋๋ฉด ํ์ด๋จธ๋ฅผ ํด์ ํ๊ณ Cancellation๋ฅผ WaitForNextTickAsync๋ก ์ ์กํฉ๋๋ค. ๋๋ณธ์ ์ผ์ ์ ์ง์ ์ค์๊ฐ์ ํ๋ฆ์ ์๋ก ๋ค๋ฅธ ๊ฒ์
๋๋ค.
๊ณต์ ๋ฌธ์: ๋ ์ง, ์๊ฐ, ๊ฐ๊ฒฉ ๋ฐ ํ์ด๋จธ - Microsoft Learn.