8797 sujets

Développement web côté serveur, CMS

Bonjour à tous.

Voilà je ramme pas mal avec les dates en asp. J'aimerais faire une fonction permettant de générer des alertes en fonction de la comparaison de deux dates.


J'ai la date du serveur d'un coté, puis de l'autre une date concernant la signature de contrat.


Donc je souhaite que la fonction permette çà:

date du contrat est à -2 mois dans la date anniverssaire -> alert1
date du contrat est à -1 mois dans la date anniverssaire -> alert1
date du contrat est à 0 mois dans la date anniverssaire -> alert2
date du contrat est à +1 mois dans la date anniverssaire -> alert2
date du contrat est à +2 mois dans la date anniverssaire -> alert2
sinon pas d'alerte...

bon ben si y'a une pise je suis preneur... çà doit être bidon pour certain Smiley smile

merci
Modifié par ernstein (10 Sep 2005 - 11:56)
Bonjour,

Je ne pratique pas ASP, mais PHP, cela dit j'ai à travailler avec les dates et la solution adoptée est d'utiliser les timestamp, qui se prêtent à toutes les opérations arithmétiques souhaitables.

Tu peux donc facilement ajouter ou retirer une durée, et dans ton cas déterminer les dates des alertes (timestamp de l'anniversaire - nombre de secondes pour 2 mois).

Je stocke ces valeurs dans des colonnes int() de Mysql afin qu'il ne puisse y avoir aucune interférence entre les timestamp php et les timestamp MySql : cela n'empêche pas de faire des requètes incluant des calculs sur ces dates, évidemment.

Pour remettre en clair un timestamp il y a quelques petites fonctions simples à rédiger, et cela fonctionne vite et bien.
Bon j'ai enfin trouvé un truc qui va le faire....

voila la fonction. Si quelques ASP killer pouvaient en passant me dire si il y a des zouille dans ce code je prends, mais à permière vue çà marche.

str est la date stokée dans la base de donnée.


Function RenewHosting(str)
		If str <> "" Then
			CompareDate = DateSerial(Year(Now),Month(str),Day(Now))
			Ecart = (Datediff("m",Now,CompareDate))
			If Ecart => -2 AND Ecart <0 Then 
				Response.Write("<img src=""images/Puce_Orange.gif"" alt=""Attention le contrat arrive à expiration"" />")
				alertStatut = "alert1" 
			End If
			If Ecart =>0 AND Ecart <2 Then
				Response.Write("<img src=""images/Puce_Red.gif"" alt=""Attention la date de renouvellement est passée"" />")
			End If
			
		End If
	End function

Modifié par ernstein (06 Sep 2005 - 14:54)