我尝试查看有关使用 java 的两个数据库之间的日期转换问题的问题,但没有解决我的问题。
这是要以日期时间格式插入数据库的当前日期:
java.sql.Date SQLDateValue = new java.sql.Date(System.currentTimeMillis()) ;
preparedStatement.setDate(index, SQLDateValue);
这是来自名为 Vdoc 的 API 的时间戳,转换为字符串,我尝试将其转换为 java.sql.Date (DateTime):
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date DateValue = (java.util.Date) this.getWorkflowInstance().getValue(this.ListeChamps[i][2]);
String StringDateValue = DateValue.toString();
java.sql.Date SQLDateValue = new java.sql.Date (sdf.parse(StringDateValue).getTime());
preparedStatement.setDate(index, SQLDateValue);
第二行返回一个包含字符串的字段值,但我需要使用 toString()。
以下错误消息是:
Failed to convert the date and / or time from a string.
我的两个日期参数都是java.sql.date,我不明白。 如果您知道会发生什么,很高兴能帮助我。
以泽拉
抱歉我的英语不好
最佳答案
只需从 java.util.Date 构造 java.sql.Date 即可。
调用java.util.Date::getTime
从 epoch 中提取毫秒数。将该计数传递给 java.sql.Date
的构造函数。
在您的情况下,以下应该可行。
java.util.Date DateValue = (java.util.Date) this.getWorkflowInstance().getValue(this.ListeChamps[i][2]);
java.sql.Date SQLDateValue = new java.sql.Date (DataValue.getTime());
preparedStatement.setDate(index, SQLDateValue);
关于java - 时间戳到字符串到日期时间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31741864/