Преобразуйте дату и время в эпоху Unix в xslt

У меня есть переменная даты и времени, и я хочу преобразовать ее в десятичное значение эпохи. Как это может быть сделано?

Я пытался использовать:

seconds-from-duration($time, xs:dateTime('1970-01-01T00:00:00'))

но это просто возвращается 0.

Совет.Спасибо.

11
задан Dimitre Novatchev 12 August 2010 в 13:43
поделиться

1 ответ

Это преобразование:

<xsl:stylesheet version="2.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xsl:output method="text"/>

 <xsl:template match="/">
   <xsl:sequence select="current-dateTime()"/>

   <xsl:sequence select=
   "( current-dateTime() - xs:dateTime('1970-01-01T00:00:00') )
    div
     xs:dayTimeDuration('PT1S')
     "/>
 </xsl:template>
</xsl:stylesheet>

при применении к любому XML документу (не используется), выдает желаемый результат -- текущую дату-время и ее Unix эпоху (количество секунд с 1/1/1970):

2010-08-12T06:26:54.273-07:00    1281594414.273
14
ответ дан 3 December 2019 в 06:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: