Antwort auf: Zeitzonen Timestamp in UTC umwandeln

    Mit XSLT Bordmitteln ist es leider nicht möglich, die Zeitzone zu ermitteln. Darum kann die benötigte Zeitdifferenz nicht dynamisch ermittelt werden.

    Der im Standardumfang von TRANSCONNECT enthaltene XSLT 2.0 Transformer “Saxon” unterstützt in der Home Edition (HE) leider nicht die benötigten Erweiterungen, welche in der kommerziellen Versionen enthalten sind und Zugriff auf die Zeitzone bieten.

    Sie können deshalb nur mit XSLT 1.0 und unter Nutzung von Java die gewünschte Konvertierung vornehmen.

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
                                  xmlns:java="http://xml.apache.org/xslt/java">
    <xsl:variable name="formatLocal">yyyy-MM-dd'T'HH:mm:ss</xsl:variable>
    <xsl:variable name="locale" select="java:java.util.Locale.forLanguageTag( 'de' )" />
    <xsl:variable name="sdf"    select="java:java.text.SimpleDateFormat.new( $formatLocal, $locale )" />
    
    <xsl:template match="/">
    <xsl:variable name="value" select="XPath of local date value" /> 
    <xsl:variable name="dtLocal" select="java:parse( $sdf, $value )" />
      <Root>
         <DatumLokal><xsl:value-of select="$value" /></DatumLokal>
         <DatumUTC><xsl:value-of select="java:getTime( $dtLocal )" /></DatumUTC>
      </Root>
    </xsl:template>
    </xsl:stylesheet>

    Ihr TRANSCONNECt-Team

    2
    0