如何从xpath中的日期中扣除一天?

时间:2015-11-30 15:13:09

标签: datetime xpath soapui saxon

我使用SOAPUI免费版编写自动化测试。 我有这样的日期格式,我从sql数据库中获取:

2015-11-30 13:38:58.387

我需要将它转换为类似的ormat:

2015-11-30T13:38:58.387 or 2015-11-30

从中扣除一天,以便将日期减去一天。

我尝试使用previous-day()函数和substring-before()(使用XPath):

previous-day(substring-before((//*:Results/*:ResultSet/*:Row/*:VALIDFROM/text()), ' '))

但它总是会出现如下错误:

net.sf.saxon.trans.XPathException:XPath syntax error at char 87 {../*:Row/*:VALIDFROM/text()..}: Unknown system function previous-day()

为什么这些功能不起作用?

谢谢

1 个答案:

答案 0 :(得分:0)

试试这个:

xs:dateTime(translate(//x, ' ', 'T')) - xs:dayTimeDuration('P1D')

其中//x代表您的节点选择。

迈克尔凯的帽子小贴士在评论中指出了这一点。