Làm cách nào để chuyển đổi ngày giờ hiện có thành giờ UTC mà không thay đổi thời gian thực.
Thí dụ:
DateTime dateTime = GetSomeDateTime(); // dateTime here is 3pm
dateTime.ToUtcDateTime() // datetime should still be 3pm
Làm cách nào để chuyển đổi ngày giờ hiện có thành giờ UTC mà không thay đổi thời gian thực.
Thí dụ:
DateTime dateTime = GetSomeDateTime(); // dateTime here is 3pm
dateTime.ToUtcDateTime() // datetime should still be 3pm
Câu trả lời:
Sử dụng DateTime.SpecifyKind
phương pháp tĩnh.
Tạo một đối tượng DateTime mới có cùng số lượng tick với DateTime được chỉ định, nhưng được chỉ định là giờ địa phương, Giờ phối hợp quốc tế (UTC) hoặc không, như được chỉ định bởi giá trị DateTimeKind đã chỉ định.
Thí dụ:
DateTime dateTime = DateTime.Now;
DateTime other = DateTime.SpecifyKind(dateTime, DateTimeKind.Utc);
Console.WriteLine(dateTime + " " + dateTime.Kind); // 6/1/2011 4:14:54 PM Local
Console.WriteLine(other + " " + other.Kind); // 6/1/2011 4:14:54 PM Utc
Bạn cũng có thể làm theo cách này:
DateTime utcDateTime = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, dateTime.Hour, dateTime.Minute, dateTime.Second).ToUniversalTime();
new DateTime(dateTime.Year, dateTime.Month, dateTime.dateTimeay, dateTime.Hour, dateTime.Minute, dateTime.Second).ToUniversalTime().ToString()
vs DateTime.SpecifyKind(dateTime, DateTimeKind.Utc).ToString()
Bạn sẽ thấy bạn nhận được kết quả khác nhau.
Sử dụng DateTime.ToUniversalTime
phương pháp.
PST
giá trị?