Những gì tôi đang cố gắng làm:Tại sao phương thức getOffset() của joda DateTimeZone yêu cầu một "tức thì"?
Từ một đối tượng DateTimeZone, tôi đang cố gắng để có được bù đắp GMT theo mili giây. Ví dụ:
DateTimeZone gmt= // somehow get gmt zone object
long offset = gmt.getOffsetSomehow(); // expect offset = 0
DateTimeZone ny_est = // somehow get that time zone object representing "EST" offset of NY zone
long offset = ny_est.getOffsetSomehow(); // expect offset = -18000000 = -5*60*60*1000
DateTimeZone hkt = // somehow get HK time zone object
long offset = hkt.getOffsetSomehow(); // expect offset = 28800000 = 8*60*60*1000
Đối tượng DateTimeZone của Joda có phương pháp được gọi là getOffset, chấp nhận tham số. Câu hỏi:
- tại sao phương pháp đó cần tham số? Tôi đã mong đợi phương thức không mong đợi bất kỳ tham số nào, và chỉ đơn giản là hành xử như thế nào tôi muốn phương thức "getOffsetSomehow()" hư cấu của tôi.
- Làm cách nào để nhận các đối tượng múi giờ trong đoạn mã của tôi ở trên?
- Phương pháp/đoạn mã thực tế nào có thể mang lại cho tôi giá trị "bù đắp" mà tôi đang cố gắng đạt được?
@jrharshanth Nếu bạn đang đặt câu hỏi; và nếu câu trả lời đang làm việc cho bạn; bạn có thể chấp nhận câu trả lời. –
Tôi cũng muốn biết câu trả lời cho điều này. Tôi đã khởi tạo và lưu một DateTimeZone bằng cách sử dụng 'DateTimeZone.forOffsetMillis (...)' trong một phần của ứng dụng của tôi, và bây giờ tôi muốn lấy lại offset để tôi có thể lưu giá trị int hoặc long trong cơ sở dữ liệu. Giả định đối tượng DateTimeZone lưu trữ offset trong một trong các trường instance của nó. Không có cách nào rõ ràng để lấy dữ liệu đó. – Aquarelle