Tài liệu

Clock

Thời gian đọc 2 phút Gói: Nalix.Environment
Trên trang này

Trang này mô tả các tiện ích thời gian công khai trong Nalix.Environment.

Ánh xạ mã nguồn

  • src/Nalix.Environment/Time/Clock.cs
  • src/Nalix.Environment/Time/Clock.Unix.cs

Đây là gì

Clock là tiện ích thời gian dùng chung, phục vụ đo thời gian đơn điệu, truy cập thời gian UTC và chuyển đổi Unix time.

Cách dùng cơ bản

DateTime now = Clock.NowUtc();
long mono = Clock.MonoTicksNow();
double ms = Clock.MonoTicksToMilliseconds(mono);

Thành viên công khai

Thuộc tính

Thành viênKiểuMô tả
TicksPerSecondlongTần số của bộ đếm thời gian độ phân giải cao, tính bằng tick mỗi giây
EpochMillisecondslongEpoch tùy chỉnh (Unix ms) dùng để sinh ID (2025-01-01 UTC)

Phương thức

Phương thứcKiểu trả vềMô tả
NowUtc()DateTimeThời gian UTC hiện tại, được dựng lại từ stopwatch đơn điệu
UnixMillisecondsNow()longUnix timestamp hiện tại tính bằng mili giây
UnixSecondsNow()longUnix timestamp hiện tại tính bằng giây
UnixSecondsNowUInt32()uintUnix timestamp hiện tại tính bằng giây dưới dạng uint32 (an toàn đến khoảng năm 2106)
UnixMicrosecondsNow()longUnix timestamp hiện tại tính bằng micro giây
UnixTicksNow()longUnix timestamp hiện tại tính bằng tick
UnixTime()TimeSpanUnix time hiện tại dưới dạng TimeSpan
EpochMillisecondsNow()longSố mili giây kể từ epoch tùy chỉnh 2025-01-01
ClampUnixMilliseconds(long, long, long)longGiới hạn giá trị Unix timestamp tính bằng mili giây value vào khoảng [min, max]
MonoTicksNow()longSố tick đơn điệu hiện tại (dùng để đo độ trễ/RTT)
MonoTicksToMilliseconds(long)doubleChuyển độ chênh lệch tick đơn điệu thành mili giây

Ví dụ

long ms = Clock.UnixMillisecondsNow();
long mono = Clock.MonoTicksNow();

// Đo thời gian đã trôi qua
long start = Clock.MonoTicksNow();
// ... công việc ...
double elapsedMs = Clock.MonoTicksToMilliseconds(Clock.MonoTicksNow() - start);

// ID theo epoch tùy chỉnh
long id = Clock.EpochMillisecondsNow();

API liên quan