Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 日期格式图片在转换整个输入字符串之前结束_Java_Oracle_Date_Time - Fatal编程技术网

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

Java 日期格式图片在转换整个输入字符串之前结束,java,oracle,date,time,Java,Oracle,Date,Time,可能重复: 我通过以下信息获取系统当前日期和时间: 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

可能重复:

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

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);
但是,现在,当我尝试使用上面准备好的语句在表中插入日期和时间时

出现以下错误:

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

我怎样才能解决这个问题

  • 如果列具有存储日期和时间的类型,请尝试传递到PreparedStatement日期而不是字符串
  • 如果您只想保存创建或更新时间戳,那么使用触发器或默认列值来保存DB会更容易,也不容易出错
  • 要将日期格式化为字符串,最好使用SimpleDataFormat或类似的格式
  • 如果您想传递要由Oracle解析的字符串,您应该关心Oracle和应用程序中的语言环境设置,或者您可以将脚本修改为包含格式:例如,使用类似于
    to_date(:paramString,'your_date_format')的内容。

  • 有一个甲骨文标签。是否涉及SQL或PL/SQL代码?这不是Java问题,Java代码工作正常。您可以打印日期变量的值吗?错误消息清楚地表明输入字符串大于提供的日期格式。您需要确保字符串正好包含14个字符。这是Oracle错误,意味着您尝试插入到表中的日期与表列的日期格式不匹配。