如何在XSLT 1.0中格式化DATE

时间:2011-03-15 08:51:06

标签: xslt biztalk xslt-1.0

我搜索了一下但找不到答案。

我希望将当前日期和格式设为YYYYMMDD

我不能按照我的要求使用EXSLT。

2 个答案:

答案 0 :(得分:0)

一个非常简单的Inline C#Script Functoid可能如下所示:

public string MyDateFormat(string dateValue)
{
    string result = String.Empty;
    string outputFormat = "{0:yyyyMMdd}";

    DateTime parsed;

    if (DateTime.TryParse(dateValue, out parsed))
    {
        result = String.Format(outputFormat, parsed);
    }
    else
    {
        result = String.Format(outputFormat, DateTime.MinValue);
    }

    return result;
}

对于类似的问题,我创建了一个外部程序集,它允许指定CultureInfo来解析输入的DateTime字符串,并将输出格式字符串作为functoid输入参数提交。

答案 1 :(得分:-1)

您希望子字符串在日期中起作用。

获取日期:

substring-before($dateTime, 'T')

要获得您想要处理上述结果的年份:

substring-before($previousResult, '-')

然后连接从字符串操作中获得的值。

这解释了整个事情并将其包装在模板上:Format a date in XML via XSLT

希望这会有所帮助。