Accueil
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi Eclipse MS-Office SQL & SGBD Oracle  4D  Business Intelligence
logo



Auteur : Erwan Amoureux
Version : 06/02/2007
Comparer deux dates format jj/mm/aaaa
Problème récurrent que le classement des dates. Désormais il s'agira plutôt d'une solution récurrente...
Le XML

<?xml version="1.0" encoding="UTF-8"?>
<r>
	<date>01/01/2000</date>
	<date>01/02/2001</date>
</r>
Le XSLT

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output method="text"/>
	<xsl:template match="/">
		<r>
			<xsl:value-of select="r/date[1]"/>
			<xsl:variable name="res">
				<xsl:call-template name="CompDate">
					<xsl:with-param name="date1" select="r/date[1]"/>
					<xsl:with-param name="date2" select="r/date[2]"/>
				</xsl:call-template>
			</xsl:variable>
			<xsl:choose>
				<xsl:when test="number($res)=1"> est postérieure à </xsl:when>
				<xsl:when test="number($res)=-1"> est antérieur à </xsl:when>
				<xsl:otherwise> est la même date que </xsl:otherwise>
			</xsl:choose>
			<xsl:value-of select="r/date[2]"/>
		</r>
	</xsl:template>
	<xsl:template name="CompDate">
		<xsl:param name="date1"/>
		<xsl:param name="date2"/>
		<xsl:variable name="d1" select="number(concat(substring($date1, 7, 4),substring($date1, 4, 2),substring($date1, 1, 2)))"/>
		<xsl:variable name="d2" select="number(concat(substring($date2, 7, 4),substring($date2, 4, 2),substring($date2, 1, 2)))"/>
		<xsl:choose>
			<xsl:when test="$d1>$d2">1</xsl:when>
			<xsl:when test="$d1<$d2">-1</xsl:when>
			<xsl:otherwise>0</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
</xsl:stylesheet>
Le Résultat

01/01/2000 est antérieure à 01/02/2001


Consultez les autres pages sources


Les sources présentés sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2006  Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com