Làm cách nào để có chênh lệch giữa giờ địa phương và thời gian UTC tính bằng phút (trong C#).Mức chênh lệch UTC theo phút
Cảm ơn.
Làm cách nào để có chênh lệch giữa giờ địa phương và thời gian UTC tính bằng phút (trong C#).Mức chênh lệch UTC theo phút
Cảm ơn.
Sử dụng TimeZoneInfo
:
TimeSpan delta = TimeZoneInfo.Local.GetUtcOffset();
double utcMinuteOffset = delta.TotalMinutes;
Điều này sẽ cung cấp cho bạn những gì bạn cần.
(DateTime.UtcNow - DateTime.Now).TotalMinutes;
Bạn cũng có thể tìm thấy chức năng sử dụng .ToUniversalTime
DateTime.
Tôi nghĩ rằng bạn có các giá trị được đảo ngược, phải là (DateTime.Now - DateTime.UtcNow) .TotalMinutes; – dlchambers
Xem this MSDN artice cho đầy đủ các chi tiết. Mẫu mã ở cuối bài viết rõ ràng cung cấp cho mã để có được sự khác biệt giữa thời gian địa phương và UTC.
Đối với những người không muốn nhấp vào liên kết ở đây là một đoạn trích từ mã rằng:
// Find difference between Date.Now and Date.UtcNow
date1 = DateTime.Now;
date2 = DateTime.UtcNow;
difference = date1 - date2;
Console.WriteLine("{0} - {1} = {2}", date1, date2, difference);
Response.Write((DateTime.Now - DateTime.UtcNow).TotalMinutes);
Tuy nhiên, một phiên bản:
DateTimeOffset.Now.Offset.TotalMinutes
DateTime localDt = DateTime.Now;
DateTime utcDt = DateTime.UtcNow;
TimeSpan localUtcDiff = utcDt.Subtract(localDt);
Console.WriteLine("The difference in minutes between local time and UTC time is " + localUtcDiff.TotalMinutes.ToString());
'GetUtcOffset (...)' lấy một tham số, vì vậy nó có thể giúp đưa nó vào ví dụ. Chẳng hạn như ... 'TimeSpan utcOffset = TimeZoneInfo.Local.GetUtcOffset (DateTime.Now);' – jocull