ORA-01843:无效的月份解决方法

问题出现的根本原因:数据库安装时的语言与你要插入的数据的语言不一致

使用如下命令查看:

SELECT * FROM v$parameter WHERE name = 'nls_date_language';

修改语言:ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';

数据库的语言是简体中文(所以日期也是中文日期),但是插入的日期是英文日期,所以提示月份无效。

解决方式:

new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(DateFormat.getDateTimeInstance().format(new Date()))