Tôi có 2 đối tượng ngày trong cơ sở dữ liệu đại diện cho giờ làm việc của công ty.Đấu tranh với cách so sánh giờ với các múi giờ khác nhau trong Java?
Tôi chỉ cần giờ nhưng vì tôi phải lưu ngày. nó xuất hiện như thế này:
Date companyWorkStartHour;
Date companyWorkEndHour;
giờ bắt đầu: 12-12-2001-13: 00: 00 giờ kết thúc: 12-12-2001-18: 00: 00
Tôi có múi giờ của công ty và của người dùng. (máy chủ của tôi có thể ở múi giờ khác).
TimeZone userTimeZone;
TimeZone companyTimeZone;
Tôi cần kiểm tra xem thời gian hiện tại của người dùng (xem múi giờ của anh) có trong giờ làm việc của công ty hay không (xem múi giờ của công ty).
Tôi có thể làm như thế nào? Tôi đang đấu tranh trong hơn một tuần với lịch Java và không thành công!
Có phải múi giờ của DB đã được cân nhắc không? Có phải giờ chính xác khi bạn truy vấn nó từ DB như java.sql.Date và in nó ngay lập tức? – BalusC
Khuyến nghị chung là lưu trữ tất cả thời gian trong UTC và chỉ chuyển đổi sang và từ các múi giờ khác để nhập và trình bày. Sau đó, so sánh nên đơn giản. 'Date' và sự thay thế hiện đại của nó' Instant' đều sử dụng UTC trong nội bộ. –