Chúng tôi có một ứng dụng tiện ích đơn giản đọc tất cả dữ liệu múi giờ được sử dụng trong JRE và hiển thị tất cả trong một bảng đơn giản. Chúng tôi cần sử dụng phiên bản cũ hơn của JRE (6_24) cho bản phát hành sản phẩm sắp tới (do các vấn đề khác), nhưng chúng tôi cũng cần bao gồm các bản cập nhật múi giờ mới hơn trong bản phát hành đó (nếu không sẽ được bao gồm trong, ví dụ: 6_29). Chúng tôi đã đóng gói một JRE riêng sẽ được cài đặt, vì vậy việc cập nhật múi giờ vào JRE riêng tư bằng cách sử dụng TZUpdater tool không phải là vấn đề - Vấn đề đang đọc/xác minh phiên bản nào của tzdata (ví dụ: tzdata2010o, tzdata2011k) đang được đọc bằng ứng dụng tiện ích (tức là phiên bản nào đang được sử dụng trong JRE mà ứng dụng đang chạy). Ứng dụng hiện đang hiển thị phiên bản JRE JRE trong thanh tiêu đề, nhưng với bản cập nhật múi giờ, không còn đủ để xác định dữ liệu múi giờ nào đang sử dụng.Java - tìm phiên bản tzdata được sử dụng bất kể phiên bản JRE
Tôi đã xem xét lớp học TimeZone, nhưng dường như không cung cấp thông tin này - có lẽ có thuộc tính hệ thống chứa thông tin này? Công cụ TZUpdater biết phiên bản nào đang được sử dụng, vì vậy nó phải có sẵn ở đâu đó - tôi không thể tưởng tượng được họ sẽ phân tích phiên bản nào đang được sử dụng trong công cụ cập nhật ... Có ai biết vị trí của thông tin này không?
Yeah, đó là thư mục đó được thay thế bằng TZUpdater, và tôi đã thông báo (sau khi công bố các câu hỏi) mà ZoneInfoMappings chứa dòng đó, nhưng Notepad ++ cho thấy một số dữ liệu/ký tự khác xung quanh nó trong dòng đầu tiên khiến tôi nghĩ rằng nó sẽ yêu cầu một số công cụ hackish để có được nó ... Vì vậy, hy vọng có một cách tốt hơn để có được nó từ JRE hoặc ai đó có thể đăng mã để đọc tệp/dòng đó ... – johnny
Câu trả lời được cập nhật. –
mã được sử dụng ở đây làm ví dụ để phân tích cú pháp này: http://www.docjar.com/html/api/sun/util/calendar/ZoneInfoFile.java.html – johnny