Giới thiệu
Lớp TimeSpan định nghĩa các hằng số TicksPer* biểu diễn số ticks (100 nanosecond) trong các đơn vị thời gian lớn. 1 tick = 100ns = 0.0001ms. 10,000 ticks = 1ms.
Các hằng số chính
| Hằng số | Giá trị | Mô tả |
|---|---|---|
TimeSpan.TicksPerMillisecond | 10,000 | Ticks trong 1 millisecond |
TimeSpan.TicksPerSecond | 10,000,000 | Ticks trong 1 giây |
TimeSpan.TicksPerMinute | 600,000,000 | Ticks trong 1 phút |
TimeSpan.TicksPerHour | 36,000,000,000 | Ticks trong 1 giờ |
TimeSpan.TicksPerDay | 864,000,000,000 | Ticks trong 1 ngày |
Ví dụ hoàn chỉnh
using System;
public class Demo
{
public static void Main()
{
Console.WriteLine("Ticks per day: " + TimeSpan.TicksPerDay);
Console.WriteLine("Ticks per hour: " + TimeSpan.TicksPerHour);
Console.WriteLine("Ticks per minute:" + TimeSpan.TicksPerMinute);
Console.WriteLine("Ticks per second:" + TimeSpan.TicksPerSecond);
Console.WriteLine("Ticks per ms: " + TimeSpan.TicksPerMillisecond);
}
}
Kết quả
Ticks per day: 864000000000 Ticks per hour: 36000000000 Ticks per minute:600000000 Ticks per second:10000000 Ticks per ms: 10000
Ứng dụng thực tế
- Chuyển đổi thủ công giữa ticks và đơn vị thời gian khác.
- Tính toán hiệu suất cấp thấp (low-level timing).
- Hiểu bản chất biểu diễn nội bộ của TimeSpan (Int64 ticks).
Ví dụ chuyển đổi
long ticks = 50000000; // 5 giây double seconds = ticks / (double)TimeSpan.TicksPerSecond; // 5.0 TimeSpan ts = TimeSpan.FromTicks(ticks); // Cách tốt hơn
Lưu ý
- TimeSpan lưu trữ nội bộ là
long _ticks. - Ticks có thể âm (cho TimeSpan âm).
- Không nhầm lẫn với
DateTime.Ticks(ticks từ 00:00:00 UTC Jan 1, Year 1).