Tôi bị kẹt. Cần giúp đỡ.Đối phó với UTC, TimeZone và thực hiện GROUP BY trên đó với LocalTime
Tôi lưu trữ ngày UTC trong cơ sở dữ liệu.
hàng ví dụ:
GeneratedAt:
- 2011-06-08 23:30
- 2011-06-09 03:30
- 2011-06-09 15:30
Giờ địa phương cho người dùng của tôi là -2 giờ (Trung Âu). Khi tôi muốn các hàng từ 09 thì tôi có 3 hàng.
Sự cố xảy ra với GROUP BY ngày cho mục đích báo cáo. Tôi có 1 cho 08 và 2 cho 09 nhưng điều này không đúng cho thời gian địa phương của tôi.
Ở mọi nơi tôi thấy: "lưu trữ dữ liệu trong UTC". Làm thế nào để làm điều này đúng cách?
UPDATE 1:
Để truy cập dữ liệu Tôi đang sử dụng NHibernate và tôi thích giải pháp độc lập với cơ sở dữ liệu. Vì vậy, tôi đang tìm giải pháp với một cái gì đó như bảng Ngày/Thời gian Kích thước (hoặc một cái gì đó như thế).
bảng dữ liệu của tôi có các cột như thế này:
- GeneratedAt (datetime)
- GeneratedAt_Year (int)
- GeneratedAt_Month (int)
- GeneratedAt_Day (int)
- GeneratedAt_Hour (int)
Nhờ đó tôi có thể dễ dàng g rouping bởi: năm, năm + tháng, năm + tháng + ngày, năm + tháng + ngày + giờ. Thật không may, đây là UTC. :(
Làm thế nào để cấu trúc lại giải pháp này để đối phó với các múi giờ sử dụng?
này sẽ không làm việc với ánh sáng ban ngày tiết kiệm (đó là đôi khi -2, đôi khi -3). – Carra