尝试将 String 转换为 java.sql.Date 时出现异常

时间:2021-07-30 17:46:28

标签: java sql postgresql exception

我有一个 JLabel 的日期写为字符串,我想将它转换为 sql.Date,但是当我尝试转换它时,它运行异常。日期值是从带有 RMI 的服务器传递过来的。

有人知道可能是什么问题吗?

这是 RMI 代码:

PrenotazioniVaccini infoPrenotazione = null;    
    try {
        infoPrenotazione = stub.getPrenotazioneVaccinazione(tf_Cf.getText());
    } catch (RemoteException ex) {
        ex.printStackTrace();
    }
    
    label_DataVaccino.setText(infoPrenotazione.getData());

这是标签代码:

label_DataVaccino = new JLabel("");
label_DataVaccino.setBounds(0, 320, 400, 25);
label_DataVaccino.setHorizontalAlignment(JLabel.CENTER);
label_DataVaccino.setVerticalAlignment(JLabel.CENTER);
panel_AddVaccinatoGUI.add(label_DataVaccino);

这是异常运行的地方:

private void registraVaccinato() {
   String data = label_DataVaccino.getText();
   Date dataVaccino = Date.valueOf(data);
   System.out.println(dataVaccino);
}

这是错误:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException
    at java.sql/java.sql.Date.valueOf(Date.java:141)
    at centrivaccinali.AddVaccinatoGUI.registraVaccinato(AddVaccinatoGUI.java:294)
    at centrivaccinali.AddVaccinatoGUI$3.actionPerformed(AddVaccinatoGUI.java:282)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
    ...

我使用本指南将字符串转换为 sql.Date:https://www.javatpoint.com/java-sql-date

1 个答案:

答案 0 :(得分:2)

IllegalArgumentException 是当参数非法或不正确时。

数据字符串的语法需要采用以下格式:yyyy-mm-dd。还有更多限制,例如 mm < 1 和 mm > 12。

相关问题