需要将2个dateTime有效负载对象之间的差异作为在HT到期值上使用的持续时间格式。 (即作为PT2055M或P1DT10H15M返回) 实际上检查了该链接上的功能:http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/bp_appx_functs.htm#autoId13 我试图通过创建持续时间来解决问题,例如
concat("P", xp20:year-from-dateTime(string(bpmn:getDataObject('myPayloadDate'))) - xp20:year-from-dateTime(xp20:current-dateTime()) ,"Y", xp20:month-from-dateTime(string(bpmn:getDataObject('myPayloadDate'))) - xp20:month-from-dateTime(xp20:current-dateTime()),"M", xp20:day-from-dateTime(string(bpmn:getDataObject('myPayloadDate'))) - xp20:day-from-dateTime(xp20:current-dateTime()),"DT", xp20:hour-from-dateTime(string(bpmn:getDataObject('myPayloadDate'))) - xp20:hour-from-dateTime(xp20:current-dateTime()),"H",xp20:minute-from-dateTime(string(bpmn:getDataObject('myPayloadDate'))) - xp20:minute-from-dateTime(xp20:current-dateTime()),"M")
但是我意识到这种方法只关注单独的价值而不是预期的整体价值。 我找不到合适的函数组合来解决。 你能指导吗?
答案 0 :(得分:0)
假设您有一个XPath 2.0处理器,只需使用减法运算符即可。例如
current-date() - xs:date('2001-03-04')
给出
P4744D
(你说“日期”,但你的例子看起来更像是dateTime。减法运算符可以使用。)