This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Converting date formats


Hi, Doug:

  If you are new to XSLT, you really should start by
going through a primer before trying to code anything
productive.  If you have any question, check out FAQ
at http://www.laidback.org/dpawson/xsl/xslfaq.html
first.
  In any case, here is a complete working XSL
illustrate date formatting.  I set current date into a
variable and output it in the format you wanted.  This
is a good start point for you to massage this code
into your own code:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
  <xsl:template match="/">	
    <xsl:variable name="date" select="20010607"/>
    <xsl:value-of select="concat(substring($date, 7,
2),'/',substring($date, 5, 2),'/',substring($date, 1,
4))"/>
  </xsl:template>
</xsl:stylesheet>

Hope this helps,
Xiaocun

--- "Hewko, Doug" <Doug.Hewko@ccra-adrc.gc.ca> wrote:
> Thanks for the help. Do you have an example? I am
> very new to XML (just
> starting to learn even what a DTD is for) and am
> unable to get the previous
> suggestions to work. When I entered the
> "xsl:variable" solution, I got a
> "can not use xsl:variable there" type message.
> 
> -----Original Message-----
> From: Gary Frederick
> [mailto:gary.frederick@jsoft.com]
> Sent: June 7, 2001 2:41 PM
> To: xsl-list@lists.mulberrytech.com
> Subject: Re: [xsl] Converting date formats
> 
> 
> Others gave the direct way to translate dates. You
> can also use the XSLT 
> Standard Library
>    http://xsltsl.sourceforge.net/
> 
> =====
> I use it to print events for a calendar. The input
> is iCalendar 
> converted to XML.
> 
> ...
> <DTSTART>
>    <param kind="TZID">CT(America/Chicago)</param>
>    <value>20010609T090000</value>
> </DTSTART>
> 
> 
> The stylesheet parts are
> ...
> <xsl:call-template name="DATE">
>    <xsl:with-param name="this-date"
> select="DTSTART/value"/>
> </xsl:call-template>
> ...
> <xsl:template name="DATE">
>    <xsl:param name="this-date"/>
> 
>    <xsl:call-template name="dt:format-date-time">
>      <xsl:with-param name="year"
> select='substring($this-date, 1, 4)' />
>      <xsl:with-param name="month"
> select='substring($this-date, 5, 2)'/>
>      <xsl:with-param name="day"
> select='substring($this-date, 7, 2)'/>
>      <xsl:with-param name="hour"
> select='substring($this-date, 10, 2)'/>
>      <xsl:with-param name="minute"
> select='substring($this-date, 12, 2)'/>
>      <xsl:with-param name="second"
> select='substring($this-date, 14, 2)'/>
>      <xsl:with-param
> name="time-zone"></xsl:with-param>
>      <xsl:with-param name="format"
> select="'%Y-%m-%dT %H:%M:%S'" />
>    </xsl:call-template>
> </xsl:template>
> 
> 
> 
> It's overkill if you just want to convert the date.
> Perhaps you want to 
> format dates in several ways...
> 
> Gary
> 
> 
> Hewko, Doug wrote:
> 
> > In my XML document, I have a date stored in ISO
> format:
> > <LASTUPDATED
> FORMAT="ISODATE">20010125</LASTUPDATED>
> > 
> > How can I convert this in my XSL file to dd/mm/yyy
> format (with the
> dashes)?
> > 
> > I am currently using the command:
> > 			<td><xsl:value-of select="LASTUPDATED"/></td>
> > 
> > 
> > 
> >  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 


__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35 
a year!  http://personal.mail.yahoo.com/

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]