Tôi đang cố gắng thêm thông tin TimeZone vào LocalDate trước khi thực hiện thêm một số tính toán. LocalDate đến từ việc sử dụng ObjectLab LocalDateCalculator để thêm ngày vào một DateTime hiện có nhưng phương thức cần trả về một ReadableInstant đã sửa đổi để tạo thành một khoảng thời gian mà tôi có thể kiểm tra.Làm thế nào để chuyển đổi Joda Localdate thành Joda DateTime?
Mã Tôi đang cố gắng một lượng tới cuộc trò chuyện của Joda LOCALDATE để Joda DateTime:
LocalDate contextLocalBusinessDate = calculator.getCurrentBusinessDate();
DateTime businessDateAsInContextLocation = new DateTime(contextLocalBusinessDate, contextTimeZone);
Các lỗi tôi nhận được là từ hệ thống chuyển đổi Joda của:
java.lang.IllegalArgumentException: No instant converter found for type: org.joda.time.LocalDate
at org.joda.time.convert.ConverterManager.getInstantConverter(ConverterManager.java:165)
at org.joda.time.base.BaseDateTime.<init>(BaseDateTime.java:147)
at org.joda.time.DateTime.<init>(DateTime.java:192)
Tôi đang tìm khắc phục sự cố này hoặc giải pháp thay thế dẫn đến Khoảng thời gian chính xác với thông tin múi giờ đầy đủ.
Phát hiện. Một điều cần lưu ý: toDateTimeAtStartOfDay không có nghĩa là "nửa đêm" ... một số múi giờ thực hiện thay đổi tiết kiệm ánh sáng ban ngày để bỏ qua từ nửa đêm đến 1 giờ sáng. –
Bạn có thể kết luận như tôi đã làm, phương thức nào (tất cả trả về DateTime, giống như ở đây) mà bạn chọn không thực sự quan trọng: Thực tế là một LocalDate được sử dụng nên ngụ ý nó được mã hóa mà không có ý định cụ thể thời gian vào ngày đó, vì vậy bất cứ khi nào bạn đưa nó vào chuyển đổi vào ngày đó cũng tốt như bất kỳ lúc nào khác vào ngày đó. Điều quan trọng là cho nó một thời gian là những gì cho phép chuyển đổi sang LocalDate, và nó không quan trọng thời gian là gì (kể từ khi bạn bắt đầu với một LocalDate mà không quan tâm về thời gian) nếu tất cả bạn cần là một số loại DateTime . – cellepo
Xin vui lòng giúp đỡ - Tôi không thể nhìn thấy bất kỳ phương pháp này trên đối tượng LocalDate của tôi. Ký hiệu '::' có nghĩa gì trong câu trả lời của bạn? –