Java 如何在HTML中创建数据库时间戳输入

Java 如何在HTML中创建数据库时间戳输入,java,html,database,input,Java,Html,Database,Input,所以我有这个支付历史数据库,它的一个属性是时间戳类型中的时间(YYYY-MM-DD HH:MM:SS)。我需要制作表格以添加新的付款历史记录。我的控制器将自动捕获支付历史对象并将其添加到数据库中。但是,由于HTML中的时间格式(我选择datetime local)与DB中的时间格式不匹配,我无法继续添加新的付款历史记录 这是我的错误: Field error in object 'paymentHistoryModel' on field 'time': rejected value [201

所以我有这个支付历史数据库,它的一个属性是时间戳类型中的时间(YYYY-MM-DD HH:MM:SS)。我需要制作表格以添加新的付款历史记录。我的控制器将自动捕获支付历史对象并将其添加到数据库中。但是,由于HTML中的时间格式(我选择datetime local)与DB中的时间格式不匹配,我无法继续添加新的付款历史记录

这是我的错误:

Field error in object 'paymentHistoryModel' on field 'time': rejected value 
[2019-02-03T15:02]; codes 
[typeMismatch.paymentHistoryModel.time,typeMismatch.time,
typeMismatch.java.sql.Timestamp,typeMismatch]; arguments 
[org.springframework.context.support.DefaultMessageSourceResolvable: codes 
[paymentHistoryModel.time,time]; arguments []; default message [time]]; 
default message [Failed to convert property value of type 'java.lang.String' to 
required type 'java.sql.Timestamp' for property 'time'; nested exception is 
org.springframework.core.convert.ConversionFailedException: Failed to convert 
from type [java.lang.String] to type [@javax.validation.constraints.NotNull 
@javax.persistence.Column java.sql.Timestamp] for value '2019-02-03T15:02'; 
nested exception is java.lang.IllegalArgumentException: Timestamp format must 
be yyyy-mm-dd hh:mm:ss[.fffffffff]]

有没有任何可能的方法可以在我的数据库中创建具有时间戳等精确格式的HTML输入?谢谢

您可以使用
java.text.simpleDataFormat
更改日期时间格式

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"),
        sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date parse = sdf.parse("2019-02-03T15:02".replace("T", " "));
String dateTime = sdf2.format(parse);

System.out.println(dateTime);
输出

2019-02-03 15:02:00


阅读有关的更多信息。

您需要自己解析字符串,即在代码中。如果没有更多的信息,特别是一些代码(请记住,它应该是简短的,最好是a),很难说出更多。欢迎来到SO!根据错误消息,您的输入时间戳为“2019-02-03T15:02”,这当然与您的格式“YYYY-MM-DD HH:MM:SS”不匹配。