Tôi bị mất một chút trong múi giờ :)Chuyển đổi giờ địa phương của ai đó thành giờ UTC
Tôi có dữ liệu được lưu trữ bằng thời gian ở UTC. Máy chủ ở Hà Lan, vì vậy chúng tôi sống ở utc + 1 (hiện tại, với daylightsavingtime, trong utc + 2)
Bây giờ khách hàng nói: hãy cho tôi dữ liệu từ ngày 5 tháng 8.
Vì vậy, tôi phải tính thời gian utc từ 'thời gian của anh ấy'. Đối với điều đó tôi phải biết:
chênh lệch utc của bạn là gì (chúng tôi lưu trữ trong hồ sơ của anh ấy, giả sử utc -6) là bạn đang ở chế độ daylightsavingtime (vì vậy chúng tôi phải thêm +1 và thực hiện bù trừ -5)
Sau đó, câu hỏi của tôi:
tôi có thể yêu cầu .Net framework: không nước XX có daylightsavingtime?
Tôi có thể hỏi khung .Net: 08-05-2010T00: 00: 00 ở quốc gia XXX daylightsavingtime tại thời điểm đó?
Tôi đã thử .ToLocalTime(), nhưng điều này chỉ cho tôi thời gian cục bộ tại máy chủ và đó không phải là điều tôi muốn, tôi muốn tính toán múi giờ của người dùng và với thực tế là ở đó điểm cụ thể trong thời gian, nếu anh/cô ấy là trong daylightsavingtime
tôi cũng đã nhìn thấy ví dụ VB này:
TimeZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time")
Dim Dated As DateTime = TimeZoneInfo.ConvertTimeToUtc(TempDate, TimeZone)
nhưng IMHO này không đưa vào tài khoản mà người dùng trong múi giờ này là hoặc không ở trong một quốc gia daylightsavingtime (dst). Ví dụ: , một người dùng trong múi giờ này ở hà lan có dst và một người khác ở một quốc gia khác không có dst.
Câu hỏi liên quan - http://stackoverflow.com/questions/2532729/daylight-saving-time-and-timezone-best-practices – Oded
Tài nguyên tuyệt vời! – Michel