2016-09-15 3 views
0

Hinweis: Bitte markieren Sie das nicht als Duplikat, höre meine Frage Sie bitteBerechnung Datumsdifferenz In XSL

Ich bin ganz neu hier und ich habe ein einfaches Datum Unterschied einen Nervenzusammenbruch läuft nach unten auf immer zwischen 2 Daten aus den letzten 2 Stunden scheint jede Antwort im Internet nicht für mich zu funktionieren.

Kann mir jemand bitte genau angeben, was ich in die XML-Datei schreiben muss und was in der XSL-Datei steckt, um den simplen Datumsunterschied zu ermöglichen?

jede Antwort gibt nur ein Segment des Codes wirft aber mit neuen zu sein Ich habe keine Ahnung, wo und wie sie zu implementieren, so danke für mein Problem zu verstehen :) Hoffe, können Sie mir auch

helfen, wenn Sie markieren dies als Duplikat, legte es atleast in Kommentar, was genau muss ich in XML-Datei setzen und genau das, was in XSL-Datei geht

+0

Ich habe alle diese Links durchlaufen und keiner von ihnen hat wegen der vagen Antworten http://stackoverflow.com/questions/9169650/how-to-calcate-date-difference-with-xpath- gearbeitet nur http://stackoverflow.com/questions/16521746/how-to-get-date-difference-in-xslt http://stackoverflow.com/questions/5544762/finding-the-difference-between- 2-Dates-in-xslt –

+0

Kann ** xslt 2 ** verwendet werden? – uL1

+0

ja definitiv so lange wie jemand definiert Wie ich viele Dinge ausprobiert habe, haben sie alle nicht funktioniert –

Antwort

2

Eine der einfachsten XSLT 2.0 -date-Vergleich ist wie folgt:

XML:

<dates> 
    <date id="1">2016-09-15</date> 
    <date id="2">2016-09-10</date> 
</dates> 

XSLT 2.0:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="2.0"> 

    <xsl:template match="dates"> 
     <xsl:element name="difference"> 
      <xsl:value-of select="days-from-duration(xs:date(date[@id=1]) - xs:date(date[@id=2]))"/> 
     </xsl:element> 
    </xsl:template> 

</xsl:stylesheet> 

Wenn dies nicht funktioniert, Ihr Problem irgendwo anders als das Stylesheet befindet. Dann müssen Sie Ihre Umgebung wie Xslt-Prozessor, Software, Programmiersprache, die Sie verwenden, angeben.

+0

funktioniert nicht, zeigt nur die Daten-Dump der Daten "2016-09-15 2016-09-10" –

+1

@RadioactiveCoffe, Sehen Sie es online unter http://xsltransform.net/bFWR5DU, wo es funktioniert Berechnen Sie den Unterschied. –

+0

Das ist lustig, hast du irgendeine Idee/Lösung, wie ich es auf meinem PC zum Laufen bringen kann? Es erscheint einfach nicht aus irgendeinem Grund –