Я хочу сделать сравнение двух разных дат. Чтобы понять это, я хочу преобразовать в число. Пример ввода:from string to number xslt
<file>
<date>2015-11-06 09:00/>
</file>
<history>
<date>2016-01-12 10:00/>
</history>
Сначала я извлекаю время от даты. И поместите результат в var.
<xsl:for-each select="//item/metadata/document/file/date">
<xsl:variable name="d_log"
select="substring-before(., ' ')" as="xs:string"/>
Таким образом, значение переменной будет, например, 2015-11-06. Следующим шагом является то, что я хочу преобразовать 2015-11-06 в 20151106.
Вопросы как я могу преобразовать из строки в число? Или есть более простой способ?
Добро пожаловать в Переполнение стека. Вы, скорее всего, получите хорошие ответы на вопросы, если вы покажете, что вы пробовали, в форме, позволяющей другим воспроизвести проблему (это, конечно, сложно, если вы не знаете, с чего начать). Не показывая свою работу, создается впечатление, что вы ее не сделали, и просто хотите, чтобы другие делали вашу работу за вас. Существует хороший совет по заданию эффективных вопросов в файлах справки [SO help] (http://stackoverflow.com/help/how-to-ask) и в эссе Эрика Раймонда и эссе Рика Моэна [Как задавать вопросы умным способом] (http://catb.org/~esr/faqs/smart-questions.html). –
И 'as =" xs: string "похоже, что вы используете XSLT 2.0, который имеет специальный тип данных' xs: date', подходящий для работы и сравнения любых дат, поэтому мне интересно, почему вы хотите использовать сравнение чисел для этих дат значения. –
Я пробовал с xs: date, но я не смог. Потому что я не знаю, как я могу извлечь время, начиная с даты. – jwnl