解析日期时输出异常



我遇到了一些问题,我有下一个代码

String timeOut = "1900-01-01" + " " + cmbHourOut.getSelectedItem() + ":" + cmbMinutesOut.getSelectedItem() + ":00";
        DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:SS");
        Date date = formatter.parse(timeOut);
        java.sql.Date sqlDate = new java.sql.Date(date.getTime());
所以,我期待"1900-01-01

21:30:00",但我在输出中只得到"1900-01-01",有什么想法吗?

我尝试打印超时,这就是它打印的内容:1900-01-01 21:30:00,所以我感到困惑。我解析错了什么吗?

java.sql.Date时间使用yyyy-mm-dd格式。这就是你的小时,分钟,秒消失的原因。

你应该坚持java.util.Date来跟踪你的时间。

只需将您的变量替换回日期即可。还要使SS小写,因为大写意味着不同的东西

        String timeOut = "1900-01-01 11:32:00";
        DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = formatter.parse(timeOut);
        System.out.println(formatter.format(date));

输出:

1900-01-01 11:32:00
BUILD SUCCESSFUL (total time: 0 seconds)

最新更新