Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Các hằng số TicksPer trong C# TimeSpan


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.TicksPerMillisecond10,000Ticks trong 1 millisecond
TimeSpan.TicksPerSecond10,000,000Ticks trong 1 giây
TimeSpan.TicksPerMinute600,000,000Ticks trong 1 phút
TimeSpan.TicksPerHour36,000,000,000Ticks trong 1 giờ
TimeSpan.TicksPerDay864,000,000,000Ticks 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).