ORA-01861: 文字与格式字符串不匹配(Oracle、Spring 时间格式问题)

ORA-01861: 文字与格式字符串不匹配

spring + mybatis中日期格式提交出现错误。执行update时,日期格式死活不通过

错误信息:ORA-01861: 文字与格式字符串不匹配

解决方法:

update HBB_CC_CONTRACT_TC 

SET STARTDATE =to_date(to_char(#{startdate}, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss') 

      where ID = #{id}

在mybatis 的xml中 用Oracle中执行update 格式化日期,需要先将java日期对象转换为 字符串,然后再把字符串转换为oracle日期对象,方可。


spring、springmvc、springboot等日期格式转换错误

spring、springmvc、springboot不能绑定个性化的日期格式参数到 实体bean。会报参数绑定错误。如 "yyyy-MM-dd hh:mm:ss"的常用日期格式提交给 spring 的controller进行自动转换时,则会转换异常。须要手动转换格式,代码如下(在spring的Controller类中添加如下代码即可):

@InitBinder

    public void initBinder(WebDataBinder binder) {

        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); // true:允许输入空值,false:不能为空值

    }


另外EasyUI中日期对象的格式化:

html:

<input id="enddate" name="enddate"  type="text"  value="${tc.enddate}"

data-options="formatter:myformatter,parser:myparser"

class="easyui-datetimebox" required="required" />

js(以下js最好放在html的最上边,保证data-option执行时已经存在对应的函数):

function myformatter(date){

var y = date.getFullYear(); var m = date.getMonth()+1;

var d = date.getDate();

var h = date.getHours() ;h= h<10?'0'+h:h;

var mm = date.getMinutes();mm= mm<10?'0'+mm:mm;

var ss = date.getSeconds();ss= ss<10?'0'+ss:ss;

return y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d) +' '+h+':'+mm+':'+ss;

}

function myparser(s){

if (!s) return new Date();  return new Date(s);

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,746评论 19 139
  • ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year:...
    雨一流阅读 731评论 0 2
  • 转载自:计算两个日期相差天数:转载自:http://www.jb51.net/article/44927.htmf...
    天字一等阅读 2,712评论 0 0
  • 今天我生日,看到此文请留言祝我生日快乐。 今天周六,正好是生日。原准备好好睡个懒觉犒赏一下疲惫的自己,结果领导微信...
    七心海棠公主阅读 2,035评论 150 62
  • “有志者事竟成.破釜沉舟,百二秦关终属楚. 苦心人天不负,卧薪尝胆,三千越甲可吞吴.” ——蒲松龄(清)
    霸道_8a7f阅读 388评论 0 0

友情链接更多精彩内容