Как отформатировать DATE в XSLT 1.0 - PullRequest
2 голосов
/ 15 марта 2011

Я немного искал, но не смог найти ответ.

Я хочу получить текущую дату и формат YYYYMMDD

Я не могу использовать EXSLT согласно моим требованиям.

Ответы [ 2 ]

0 голосов
/ 15 марта 2011

Очень простой Inct 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, а также отправитьстрока выходного формата в качестве входного параметра функтоида.

0 голосов
/ 15 марта 2011

Вы хотите, чтобы подстрока действовала в дату.

Чтобы получить дату:

substring-before($dateTime, 'T')

Чтобы получить год, в который вы хотите работать, по вышеуказанному результату:

substring-before($previousResult, '-')

Затем объедините значения, полученные из манипуляций со строками.

Это объясняет все это и помещает его в шаблон: Форматирует дату в XML с помощью XSLT

и т.д.

Надеюсь, это поможет.

...