Timespan là gì

Làm cách nào để có được sự khác biệt về thời gian giữa hai DateTimeđối tượng sử dụng C #?

  • c#
  • datetime

126 hữu ích 0 bình luận 258k xem chia sẻ

answer

187

Ví dụ sau đây cho thấy cách thực hiện việc này:

DateTime a = new DateTime[2010, 05, 12, 13, 15, 00]; DateTime b = new DateTime[2010, 05, 12, 13, 45, 00]; Console.WriteLine[b.Subtract[a].TotalMinutes];

Khi thực hiện điều này sẽ in "30" vì có chênh lệch 30 phút giữa ngày / lần.

Kết quả DateTime.Subtract[DateTime x]là một Đối tượng TimeSpan cung cấp các thuộc tính hữu ích khác.

187 hữu ích 2 bình luận chia sẻ

answer

53

Bạn muốn TimeSpancấu trúc:

TimeSpan diff = dateTime1 - dateTime2;

Một đối tượng TimeSpan biểu thị một khoảng thời gian [khoảng thời gian hoặc thời gian đã trôi qua] được đo bằng số ngày dương hoặc âm của ngày, giờ, phút, giây và phân số của giây. Cấu trúc TimeSpan cũng có thể được sử dụng để biểu thị thời gian trong ngày, nhưng chỉ khi thời gian không liên quan đến một ngày cụ thể.

Có nhiều phương pháp khác nhau để lấy lại ngày, giờ, phút, giây và mili giây từ cấu trúc này.

Nếu bạn chỉ quan tâm đến sự khác biệt thì:

TimeSpan diff = Math.Abs[dateTime1 - dateTime2];

sẽ cung cấp cho bạn sự khác biệt tích cực giữa các lần bất kể thứ tự.

Nếu bạn vừa có thành phần thời gian nhưng thời gian có thể được chia cho nửa đêm thì bạn cần thêm 24 giờ vào khoảng thời gian để có được sự khác biệt thực tế:

TimeSpan diff = dateTime1 - dateTime2; if [diff

Chủ Đề