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

Các phương thức TimeSpan.From* trong C#


Giới thiệu

TimeSpan cung cấp các phương thức factory tĩnh From* để tạo TimeSpan từ các đơn vị thời gian khác nhau: Days, Hours, Minutes, Seconds, Milliseconds, Ticks.

Các phương thức From*

Phương thứcTham sốVí dụ
FromDays(double)Số ngày (có thể lẻ)TimeSpan.FromDays(1.5) = 1.12:00:00
FromHours(double)Số giờTimeSpan.FromHours(2.5) = 02:30:00
FromMinutes(double)Số phútTimeSpan.FromMinutes(90) = 01:30:00
FromSeconds(double)Số giâyTimeSpan.FromSeconds(100) = 00:01:40
FromMilliseconds(double)Số millisecondsTimeSpan.FromMilliseconds(1500) = 00:00:01.5
FromTicks(long)Số ticks (100ns)TimeSpan.FromTicks(10000000) = 00:00:01

Ví dụ hoàn chỉnh

using System;

public class Demo
{
    public static void Main()
    {
        TimeSpan t1 = TimeSpan.FromDays(1);
        TimeSpan t2 = TimeSpan.FromHours(1);
        TimeSpan t3 = TimeSpan.FromMinutes(1);
        Console.WriteLine(t1); // 1.00:00:00
        Console.WriteLine(t2); // 01:00:00
        Console.WriteLine(t3); // 00:01:00
    }
}

Kết quả

1.00:00:00
01:00:00
00:01:00

Lưu ý quan trọng

  • Tham số là double (trừ FromTicks) -> cho phép giá trị lẻ: FromMinutes(1.5) = 1 phút 30 giây.
  • Giá trị âm được chấp nhận -> tạo TimeSpan âm.
  • Giá trị quá lớn -> ném OverflowException.
  • Độ chính xác: double có độ chính xác ~15 chữ số, đủ cho hầu hết trường hợp.

Ví dụ thực tế: Timeout cấu hình

// Đọc timeout từ config (giây)
int timeoutSeconds = config.GetValue("TimeoutSeconds", 30);
TimeSpan timeout = TimeSpan.FromSeconds(timeoutSeconds);

// Hoặc từ milliseconds
int timeoutMs = config.GetValue("TimeoutMs", 5000);
TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMs);