bpel中日期字段转换方式

bpel中常用的日期字段转换方法有format-dateTime,将日期格式YYYY-MM-DDTHH:MI:SS格式的转成其它各种格式,方法很好用。

但是对于这种格式的数据MM/DD/YYY HH:MI:SS,要求转换成YYYY-MM-DDTHH:MI:SS格式却不是很容易的事情。format-dateTime在这里不好用了。

本来想在bpel中引入java的的代码进行日期格式的转换,一来还不熟练,二么时间紧,就用字符串的方式先对付着处理了。

处理的方式很简单,如01/01/2010转换成 2011-01-01T00:00:00,可用以下字符串函数进行处理:

xp20:format-dateTime(concat(substring('01/01/2010',7,4),'-',substring('01/01/2010',1,2),'-',substring('01/01/2010',4,2),'T00:00:00'))

或者直接这样使用

concat(substring('01/01/2010',7,4),'-',substring('01/01/2010',1,2),'-',substring('01/01/2010',4,2),'T00:00:00'))

也是可以的。

 

但是个人认为这种使用方法,实在是不稳定因素太多,万一传进来的数据格式不是MM/DD/YYY ,或者是月和日都有可能只出现1位的,那就很惨。有时间研究看看是否有更好的方式吧。

这种处理方式来源于https://forums.oracle.com/forums/thread.jspa?threadID=699962

你可能感兴趣的:(java,XP,2010)