Re: [xsl] difference between an integer and current-dateTime()

Subject: Re: [xsl] difference between an integer and current-dateTime()
From: "G. Ken Holman g.ken.holman@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 27 Mar 2020 12:18:30 -0000
I hope this helps.

. . . . . Ken

~/t $ xslt2 unixtime.xsl unixtime.xsl
Given: 1585039138
Then: 2020-03-24T08:38:58
Current: 1585296916.838
Current dateTime: 2020-03-27T08:15:16.838-04:00
Difference: 257778.838
Half-way: 128889.419
Half-way dateTime: 2020-03-25T20:27:07
~/t $ cat unixtime.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="";

<xsl:output method="text"/>

<xsl:template match="/">
  <xsl:variable name="oldTime" select="1585039138"/>
  <xsl:variable name="epoch" select="xs:dateTime('1970-01-01T00:00:00')"/>
  <xsl:variable name="now"
                        div xs:dayTimeDuration('PT1S')"/>

  <xsl:value-of select="'Given:',$oldTime,'&#xa;'"/>
  <xsl:value-of select="'Then:',format-dateTime( $epoch +
                             xs:dayTimeDuration( concat('PT',$oldTime,'S')
  <xsl:value-of select="'Current:',$now,'&#xa;'"/>
  <xsl:value-of select="'Current dateTime:',current-dateTime(),'&#xa;'"/>
  <xsl:value-of select="'Difference:', $now - $oldTime,'&#xa;'"/>
  <xsl:value-of select="'Half-way:', ($now - $oldTime) div 2,'&#xa;'"/>
  <xsl:value-of select="'Half-way dateTime:',
    format-dateTime( $epoch + xs:dayTimeDuration(
                     concat('PT',$oldTime + (
($now - $oldTime) div 2 ),'S') ),

~/t $

At 2020-03-27 10:34 +0000, Mukul Gandhi gandhi.mukul@xxxxxxxxx wrote:
Hi all,
B  B  I've got a number 1585039138 for example
(which is number of seconds since epoch
1970-01-01T00:00:00Z UTC). I wish to find the
duration (in minutes or seconds) between
previous number and current-dateTime(). I wish
to do this with XSLT (2/3 both are fine with me,
preferably non schema aware). I expect this
difference to be always positive, since the
number will change depending on what moment (at
any moment, I wish to find this difference) it
is calculated. How can I do that?

-- Regards, Mukul Gandhi <>XSL-List info and archive <>EasyUnsubscribe (<>by email)

Contact info, blog, articles, etc. |
Check our site for free XML, XSLT, XSL-FO and UBL developer resources |
Streaming hands-on XSLT/XPath 2 training class @ US$45 (5 hours free) |
Essays (UBL, XML, etc.) |

Current Thread