Giới thiệu
Phương thức tĩnh TimeSpan.FromTicks(long value) tạo một TimeSpan đại diện cho khoảng thời gian tính bằng tick (1 tick = 100 nanosecond = 0.1 microsecond). Đây là đơn vị độ chính xác cao nhất của TimeSpan.
Cú pháp
public static TimeSpan FromTicks(long value);
Ví dụ 1
using System;
public class Demo
{
public static void Main()
{
TimeSpan span1 = TimeSpan.FromTicks(18768768);
TimeSpan span2 = new TimeSpan(-9, 45, 50); // -9 giờ 45 phút 50 giây
TimeSpan span3 = TimeSpan.FromHours(5);
TimeSpan span4 = TimeSpan.FromMilliseconds(10000);
TimeSpan span5 = TimeSpan.FromMinutes(2);
TimeSpan span6 = TimeSpan.FromMinutes(20);
Console.WriteLine("TimeSpan1 = " + span1);
Console.WriteLine("TimeSpan2 = " + span2);
Console.WriteLine("TimeSpan3 = " + span3);
Console.WriteLine("TimeSpan4 = " + span4);
Console.WriteLine("TimeSpan5 = " + span5);
Console.WriteLine("So sánh span1 vs span2 = " + TimeSpan.Compare(span1, span2));
Console.WriteLine("So sánh span2 vs span3 = " + TimeSpan.Compare(span2, span3));
Console.WriteLine("So sánh span1 vs span3 = " + TimeSpan.Compare(span1, span3));
Console.WriteLine("So sánh span3 vs span4 = " + TimeSpan.Compare(span3, span4));
Console.WriteLine("So sánh span4 vs span5 = " + TimeSpan.Compare(span4, span5));
}
}
Kết quả
TimeSpan1 = 00:00:01.8768768 TimeSpan2 = -08:14:10 TimeSpan3 = 05:00:00 TimeSpan4 = 00:00:10 TimeSpan5 = 00:02:00 So sánh span1 vs span2 = 1 So sánh span2 vs span3 = -1 So sánh span1 vs span3 = -1 So sánh span3 vs span4 = 1 So sánh span4 vs span5 = -1
Ví dụ 2
using System;
public class Demo
{
public static void Main()
{
TimeSpan span1 = TimeSpan.FromTicks(1); // 1 tick = 100ns
TimeSpan span2 = new TimeSpan(1); // Cũng 1 tick
TimeSpan span3 = TimeSpan.FromHours(1);
TimeSpan span4 = TimeSpan.FromMilliseconds(1);
TimeSpan span5 = TimeSpan.FromMinutes(1);
TimeSpan span6 = TimeSpan.FromMinutes(1);
Console.WriteLine("TimeSpan1 = " + span1);
Console.WriteLine("TimeSpan2 = " + span2);
Console.WriteLine("TimeSpan3 = " + span3);
Console.WriteLine("TimeSpan4 = " + span4);
Console.WriteLine("TimeSpan5 = " + span5);
Console.WriteLine("So sánh span1 vs span2 = " + TimeSpan.Compare(span1, span2)); // 0 (bằng nhau)
Console.WriteLine("So sánh span2 vs span3 = " + TimeSpan.Compare(span2, span3)); // -1
Console.WriteLine("So sánh span1 vs span3 = " + TimeSpan.Compare(span1, span3)); // -1
Console.WriteLine("So sánh span3 vs span4 = " + TimeSpan.Compare(span3, span4)); // 1
Console.WriteLine("So sánh span4 vs span5 = " + TimeSpan.Compare(span4, span5)); // -1
}
}
Kết quả
TimeSpan1 = 00:00:00.0000001 TimeSpan2 = 00:00:00.0000001 TimeSpan3 = 01:00:00 TimeSpan4 = 00:00:00.0010000 TimeSpan5 = 00:01:00 So sánh span1 vs span2 = 0 So sánh span2 vs span3 = -1 So sánh span1 vs span3 = -1 So sánh span3 vs span4 = 1 So sánh span4 vs span5 = -1
Các factory method TimeSpan khác
| Phương thức | Mô tả |
|---|---|
FromDays(double) |
Từ số ngày (có thể lẻ). |
FromHours(double) |
Từ số giờ. |
FromMinutes(double) |
Từ số phút. |
FromSeconds(double) |
Từ số giây. |
FromMilliseconds(double) |
Từ số milli-giây. |
new TimeSpan(days, hours, minutes, seconds, milliseconds) |
Constructor đầy đủ. |
Lưu ý quan trọng
- 1 tick = 100 nanoseconds = 0.0001 milliseconds.
TimeSpan.TicksPerSecond= 10,000,000.TimeSpan.TicksPerMillisecond= 10,000.TimeSpan.Comparetrả về -1 (nhỏ hơn), 0 (bằng), 1 (lớn hơn).- TimeSpan có thể âm (khoảng thời gian ngược).
- Để format tùy chỉnh:
span.ToString(@"hh\:mm\:ss\.fff").