This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Q on ISO TimeDate convertion
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: Re: [xsl] Q on ISO TimeDate convertion
- From: Jörg Heinicke <joerg dot heinicke at gmx dot de>
- Date: Thu, 8 Nov 2001 03:24:30 +0100
- References: <007801c167f7$66ce1750$65023c0a@ELOY01499A>
- Reply-To: xsl-list at lists dot mulberrytech dot com
I'm not so familiar with the AM/PM-format, but the following should give you
a hint.
<!-- Display the Time -->
<xsl:variable name="hour">
<xsl:choose>
<xsl:when test="substring( $datetime, 12 , 2 ) > 12">
<xsl:value-of select="substring( $datetime, 12 , 2 ) -
12"/>
<xsl:text> PM </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring( $datetime, 12 , 2 )"/>
<xsl:text> AM </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:value-of select="$hour"/>
<xsl:text>:</xsl:text>
<xsl:value-of select="substring( $datetime, 15 , 2 )"/>
<xsl:text>:</xsl:text>
<xsl:value-of select="substring( $datetime, 18 , 2 )"/>
The problems I have not solved:
0:30 or 12:30 or 24:30?
And according to this: Where is AM/PM-bound? 12 to 1 o'clock or 11 to 0
o'clock?
Joerg
> I have an XSLT Template that converts the ISO TimeDate format to an
American
> Standard display.
>
> 2001-10-18T12:27:46
>
> 10/18/2001 12:27:46
>
> My problem is that I really don't know how to convert the Time part to an
> AM/PM format, not just the 24 hour clock it is now.
>
> Below is the code I am using to convert the date.
>
> Can someone help with the Time conversion.
>
> Also, is there a way to pass the ISO Date/Time and return the conversion,
> just a function?
>
> The Template I have does the conversion and the display all within the
> Template.
>
> Walter
>
> <!-- timestamp NODE Template -->
> <xsl:template match="timestamp">
>
> <!-- Pull the pieces apart -->
> <xsl:variable name="datetime" select="."/>
> <xsl:variable name="year" select="substring( $datetime, 0 ,
5 )"/>
> <xsl:variable name="month" select="substring( $datetime, 6 ,
2 )"/>
> <xsl:variable name="day" select="substring( $datetime, 9 ,
2 )"/>
>
> <td valign="top" class='data'>
> <!-- put the date together in American order -->
> <xsl:value-of select="concat($month, '/', $day, '/', $year )"/>
> <!-- Seperate the date and Time -->
> -
> <!-- Display the Time -->
> <xsl:value-of select="substring( $datetime, 12 , 5 )"/>
> </td>
>
> </xsl:template>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list