java - 日期格式图片在转换整个输入字符串之前结束

标签 java oracle date time

Possible Duplicate:
ORA-01830: date format picture ends before converting entire input string

我通过以下方式获取系统当前日期和时间:

String months[] = {"Jan", "Feb", "Mar", "Apr","May", "Jun", "Jul", "Aug","Sep", "Oct",     "Nov", "Dec"};
Calendar cal = new GregorianCalendar();
String month = (months[cal.get(Calendar.MONTH)]);
int year = cal.get(Calendar.YEAR);
int day = cal.get(Calendar.DAY_OF_MONTH);

int second = cal.get(Calendar.SECOND);
int minute = cal.get(Calendar.MINUTE);
int hour = cal.get(Calendar.HOUR);

String date= day+"/"+month+"/"+year;
String time=hour+":"+minute+":"+second;

ps.setString(14, date+" "+time);

但是,现在当我尝试使用上述准备好的语句在表中插入日期和时间时。

出现以下错误:

date format picture ends before converting entire input string

我该如何解决这个问题?

最佳答案

  1. 如果您的列具有存储日期和时间的类型,请尝试传递给您的PreparedStatement Date而不是String
  2. 如果您只想保存创建或更新时间戳,则使用触发器或默认列值通过数据库进行此操作会更容易且不易出错
  3. 要将日期格式化为字符串,最好使用 SimpleDateFormat 或类似的格式。
  4. 如果您想传递字符串供 Oracle 解析,您应该关心 Oracle 和应用程序中的区域设置,或者您可以修改脚本以包含格式:例如使用类似于 to_date(:paramString, 'YOUR_DATE_FORMAT')
  5. 的内容

关于java - 日期格式图片在转换整个输入字符串之前结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12724756/

相关文章:

java - 尽管抛出相同的异常,但预期异常的 JUnit 测试仍失败

java - 出现错误: Execution failed for task app:transformClassesWithMultidexlistForDebug

java - 从其他类调用方法给出 NullPointerException

sql - Oracle SQL : variables used in place of table names

file - 使用 '-eq' 比较文件的 LastWriteTime 不起作用

java - 找到作为 C 因数的最小整数?

asp.net - Filehelpers Excel 到 Oracle db

c# - 系统.InvalidCastException : Object cannot be cast from DBNull to other types

javascript - Javascript 如何检查该月的最后一天是否是星期五

json - 将 JSON 日期转换为 MM/DD/YYYY 格式?