相关疑难解决方法(0)

jdk8日期转换中的错误?

我正在为java.util.Datejava.time.LocalDateTime之间的java-8转换编写一些测试代码,发现异常似乎发生在从正常时间到夏季的转换的一小时内,当年是2038年或更高.

我只是想知道这是jdk8中的错误,还是我做错了什么?

注意:我使用的是Windows-7,64位jdk,所以不应该受到2038-unix bug的影响,这会产生更糟糕的影响.

这是我的演示代码:

package conversiontest;

import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;

public class ConversionTest {

    public static void main(String[] args) {
        new ConversionTest().testDateConversion();
    }

    // Method under test:
    public java.util.Date toJavaUtilDate(LocalDateTime localDateTime) {
        return java.util.Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
    }

    // Test-code:
    public void testDateConversion() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        LocalDate localDate = LocalDate.of(2016, 1, 1);
        LocalTime localTime = LocalTime.of(3, 22, 22); // 03:22:22
        while …
Run Code Online (Sandbox Code Playgroud)

java java.util.date java-8 java-time

6
推荐指数
1
解决办法
890
查看次数

标签 统计

java ×1

java-8 ×1

java-time ×1

java.util.date ×1