เมธอด TimeSpan.FromSeconds() ใน C# ใช้สร้าง TimeSpan จากจำนวนวินาทีที่ระบุ (รองรับทศนิยม จนถึงมิลลิวินาที)
ไวยากรณ์ (Syntax)
public static TimeSpan FromSeconds(double value);
- value — จำนวนวินาที (double) — รองรับเศษส่วน (มิลลิวินาที, ไมโครวินาที)
- คืนค่า
TimeSpanที่แทนช่วงเวลาดังกล่าว - โยน
ArgumentExceptionหาก value < TimeSpan.MinValue หรือ > TimeSpan.MaxValue, หรือOverflowException
ตัวอย่างที่ 1: สร้าง TimeSpan จากวินาทีทศนิยมและเปรียบเทียบ
using System;
public class Demo
{
public static void Main()
{
TimeSpan span1 = TimeSpan.FromSeconds(0.6768788);
TimeSpan span2 = new TimeSpan(25, 15, 45); // 25 days, 15 hours, 45 minutes
TimeSpan span3 = TimeSpan.FromHours(0.4788);
TimeSpan span4 = TimeSpan.FromMilliseconds(0.8787);
TimeSpan span5 = TimeSpan.FromMinutes(2.550);
Console.WriteLine("TimeSpan1 = " + span1);
Console.WriteLine("TimeSpan2 = " + span2);
Console.WriteLine("TimeSpan3 = " + span3);
Console.WriteLine("TimeSpan4 = " + span4);
Console.WriteLine("TimeSpan5 = " + span5);
Console.WriteLine("Result (Comparison of span1 and span2) = " + TimeSpan.Compare(span1, span2));
Console.WriteLine("Result (Comparison of span2 and span3) = " + TimeSpan.Compare(span2, span3));
Console.WriteLine("Result (Comparison of span1 and span3) = " + TimeSpan.Compare(span1, span3));
Console.WriteLine("Result (Comparison of span3 and span4) = " + TimeSpan.Compare(span3, span4));
Console.WriteLine("Result (Comparison of span4 and span5) = " + TimeSpan.Compare(span4, span5));
}
}
ผลลัพธ์
TimeSpan1 = 00:00:00.6770000 TimeSpan2 = 1.01:15:45 TimeSpan3 = 00:28:43.6800000 TimeSpan4 = 00:00:00.0010000 TimeSpan5 = 00:02:33 Result (Comparison of span1 and span2) = -1 Result (Comparison of span2 and span3) = 1 Result (Comparison of span1 and span3) = -1 Result (Comparison of span3 and span4) = 1 Result (Comparison of span4 and span5) = -1
ตัวอย่างที่ 2: FromSeconds กับค่าต่างๆ และเปรียบเทียบ
using System;
public class Demo
{
public static void Main()
{
TimeSpan span1 = TimeSpan.FromSeconds(1);
TimeSpan span2 = new TimeSpan(-9, 45, 50);
TimeSpan span3 = TimeSpan.FromHours(5);
TimeSpan span4 = TimeSpan.FromMilliseconds(10000);
TimeSpan span5 = TimeSpan.FromMinutes(2);
Console.WriteLine("TimeSpan1 = " + span1);
Console.WriteLine("TimeSpan2 = " + span2);
Console.WriteLine("TimeSpan3 = " + span3);
Console.WriteLine("TimeSpan4 = " + span4);
Console.WriteLine("TimeSpan5 = " + span5);
Console.WriteLine("Result (Comparison of span1 and span2) = " + TimeSpan.Compare(span1, span2));
Console.WriteLine("Result (Comparison of span2 and span3) = " + TimeSpan.Compare(span2, span3));
Console.WriteLine("Result (Comparison of span1 and span3) = " + TimeSpan.Compare(span1, span3));
Console.WriteLine("Result (Comparison of span3 and span4) = " + TimeSpan.Compare(span3, span4));
Console.WriteLine("Result (Comparison of span4 and span5) = " + TimeSpan.Compare(span4, span5));
}
}
ผลลัพธ์
TimeSpan1 = 00:00:01 TimeSpan2 = -08:14:10 TimeSpan3 = 05:00:00 TimeSpan4 = 00:00:10 TimeSpan5 = 00:02:00 Result (Comparison of span1 and span2) = 1 Result (Comparison of span2 and span3) = -1 Result (Comparison of span1 and span3) = -1 Result (Comparison of span3 and span4) = 1 Result (Comparison of span4 and span5) = -1
สรุป
TimeSpan.FromSeconds(double)— สร้าง TimeSpan จากวินาที (รองรับทศนิยม)TimeSpan.Compare(ts1, ts2)— คืน -1 (ts1ts2) - เมธอด factory อื่นๆ:
FromTicks,FromMilliseconds,FromMinutes,FromHours,FromDays - คอนสตรัคเตอร์:
new TimeSpan(days, hours, minutes, seconds, milliseconds) - TimeSpan รองรับค่าลบ (negative) — ใช้แทนความต่างเวลา
- คุณสมบัติที่ใช้บ่อย:
TotalDays,TotalHours,TotalMinutes,TotalSeconds,TotalMilliseconds,Ticks
ตารางเมธอด Factory ของ TimeSpan
| เมธอด | พารามิเตอร์ | ตัวอย่าง |
|---|---|---|
| FromTicks | long | FromTicks(10_000_000) = 1 วินาที |
| FromMilliseconds | double | FromMilliseconds(500) = 0.5 วินาที |
| FromSeconds | double | FromSeconds(1.5) = 1.5 วินาที |
| FromMinutes | double | FromMinutes(1.5) = 1 นาที 30 วินาที |
| FromHours | double | FromHours(2.5) = 2 ชั่วโมง 30 นาที |
| FromDays | double | FromDays(1.5) = 1 วัน 12 ชั่วโมง |
การใช้งานจริง: Timeout, Delay, Interval
// Task.Delay รับ TimeSpan await Task.Delay(TimeSpan.FromSeconds(2.5)); // Timer var timer = new Timer(_ => DoWork(), null, TimeSpan.FromSeconds(10), TimeSpan.FromSeconds(30)); // Timeout ใน HttpClient client.Timeout = TimeSpan.FromSeconds(30);