我坚持使用字符串转换为xs:date。我真的很感激任何帮助和提示!
我有一个字符串,表示格式为“01 Jan 00”的日期,我需要将其转换为xs:date,以便我可以进一步操作它。
是否有一个函数或某些东西已经存在,以便我可以转换我日期难以处理的字符串表示形式?我是否需要从头开始编写函数以将“MN”格式的月份转换为其数字表示形式?
请帮忙! :) 谢谢!
的Daria
答案 0 :(得分:2)
EXSLT库可能是个不错的选择:http://www.exslt.org/
答案 1 :(得分:0)
我认为你需要一个功能。类似的内容描述为here
答案 2 :(得分:0)
您可以绑定扩展功能,将日期字符串转换为所需的格式。确切的机制将取决于您的XSLT引擎。
在.NET中,我们可以采用以下方法:
public class DateConv
{
public string AsXsDate( string date )
{
return DateTime.Parse(date).ToString("yyyy-MM-dd");
}
}
XsltArgumentList args = new XsltArgumentList();
args.AddExtensionObject("urn:date-conv", new DateConv());
xslt.Transform( input, args output );
并在像这样的样式表中使用它:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:date="urn:date-conv">
<xsl:template match="bookstore">
<xsl:value-of select="date:AsXsDate('01 Jan 00')"/>
</xsl:template>
</xsl:stylesheet>
答案 3 :(得分:0)
我最终编写了一个简单的函数,用于确定我在XML中使用的两种日期格式:“01 Jan 00”和标准日期时间字符串“2000-01-01”;并将非标准转换为标准“YYYY-MM-DD”。
然后我使用EXSLT函数(http://www.exslt.org/date/index.html)来进一步操作日期。