假设需要将一个表示UTC时区瞬时时间点的java.util.Date对象转换为不带时区信息的LocalDateTime对象,下列哪种方法能保证转换结果的时间值正确?
答案解析
核心考点:理解Date与LocalDateTime的转换必须显式处理时区。
解题思路:java.util.Date本质是UTC瞬时时间,但LocalDateTime没有时区概念。正确转换需要将Instant与UTC时区结合。
选项分析:
A错误:LocalDateTime.from()会使用系统默认时区,可能导致时间偏移
B正确:显式使用UTC偏移量保证时间值不变
C错误:Calendar.get()方法返回的值包含时区转换,但月份从0开始的特性易出错
D错误:Timestamp.toLocalDateTime()底层依赖系统默认时区
易错点:忽视LocalDateTime的时区处理需要显式声明。
正确答案:B