2011-08-29 4 views
2

SQL에서 XML을 가져옵니다. xml에는 날짜 시간 정보가 포함 된 노드가 있습니다. xml은 xslt를 사용하여 변환됩니다. 나는 xslt에서 과거의 분을 계산할 필요가있다.XSLT 코드를 사용하여 분을 지난 분

2011-08-28T22 : 11 : 52.383-07 : 나는 참고로 현재 시간을 얼마나 많은 분을 caculate해야 할 00

예를 들어, XML에서 나는 아래의 노드를 가지고 xml 노드에있는 날짜부터 전달됩니다. 당신의 도움을 주셔서 감사합니다.

감사

+1

XSLT 1.0 또는 2.0을 사용하고 있습니까? – captaintom

+0

xslt 2.0을 사용하고 있습니다 – Faiz

+0

좋은 질문입니다, +1. 완전하고 간단하며 쉬운 해결책은 내 대답을 참조하십시오. –

답변

2

이 변환 :

:

<t>2011-08-28T22:11:52.383-07:00</t> 

가 원하는, 올바른 결과 생산이 XML 문서에 적용

<xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
<xsl:output omit-xml-declaration="yes" indent="yes"/> 

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

    Elapsed minutes since: <xsl:sequence select="string(/)"/>: 

    <xsl:sequence select= 
    "(current-dateTime() - xs:dateTime(/)) 
    div 
    xs:dayTimeDuration('PT1M') 
    "/> 

</xsl:template> 
</xsl:stylesheet> 

15,

Current time: 2011-08-29T21:28:27.153-07:00 Elapsed minutes since: 2011-08-28T22:11:52.383-07:00: 1396.5795 

설명 : 경과 분에 두 기간의 분할의 결과로 계산된다

  1. 지금 지정된 날짜와 시간 사이의 시간차 및
  2. xs:dayTimeDuration 값 정확히 1 분.
관련 문제