begin process at 2010 02 10 15:36:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date/Heure

 > VÉRIFICATION D'UNE DATE AVEC GESTION DES ANNÉES BISEXTILES

VÉRIFICATION D'UNE DATE AVEC GESTION DES ANNÉES BISEXTILES


 Information sur la source

Note :
Aucune note
Catégorie :Date/Heure Classé sous :année, bisextile, datetime, vérifier, gestion Niveau :Initié Date de création :15/04/2004 Date de mise à jour :18/04/2004 10:42:54 Vu :29 477

Auteur : BinOff

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Ce code permet entre autre de vérifier une date. Il existe des codes similaires sur aspfr, mais elles ne géraient pas les années bisextiles...

Voilà, maintenant que c'est fait, profitez bien de cette source qui peut vous être fort utile :)


Pour l'utiliser la fonction, copiez ce code dans votre page ASP, puis faites-y appel comme ceci:

<%
'Ici, votre date est incorrecte... 2003 n'étant pas une année bisextile
if IsValidDate (2003, 02, 29) = false then
  Response.write "Date Incorecte"
else
Response.Write "Date Correcte"
end if

'En revanche 2004, l'est :)
if IsValidDate (2004, 02, 29) = false then
  Response.write "Date Incorecte"
else
Response.Write "Date Correcte"
end if
%>

Source

  • <%
  • Function IsValidDate(tsYear, tsMonth, tsDay)
  • 'Développé par Pascal MILLIEZ
  • 'Fonction permettant de valider une date, avec gestion des années bisextiles
  • '---------------------------------------------------------------------
  • ' Paramètres :
  • ' tsYear : Année (nombre entier)
  • ' tsMonth : Mois (compris entre 1 et 12 inclus)
  • ' tsDay : Jour (compris entre 1 et 31 inclus)
  • ' Valeurs retournées :
  • ' True : La date est valide
  • ' False : La date est invalide
  • '----------------------------------------------------------------------
  • Dim AnneeBisexstile
  • IsValidDate =True
  • if isnumeric(tsYear) = false or isnumeric(tsMonth) = false or isnumeric(tsDay) = false then
  • IsValidDate = false
  • exit function
  • end if
  • if tsYear > 2099 then
  • IsValidDate = false
  • exit function
  • end if
  • if tsMonth > 12 or tsMonth < 1 then
  • IsValidDate = false
  • exit function
  • end if
  • if tsDay > 31 or tsDay < 1 then
  • IsValidDate = false
  • exit function
  • end if
  • Select case tsMonth
  • case 2
  • ' Le mois de février peut avoir soit 28 jours, soit 29
  • ' Tout dépend si l'année est bisextile ou pas
  • ' Merci à garfield90 pour son aide :)
  • AnneeBisexstile = 0
  • if tsYear mod 4 = 0 then AnneeBisexstile = 1
  • if tsYear mod 100 = 0 then AnneeBisexstile = 0
  • if tsYear mod 400 = 0 then AnneeBisexstile = 1
  • if AnneeBisexstile = 1 then
  • 'Année bisextile !!
  • if tsDay > 29 then
  • IsValidDate = false
  • exit function
  • end if
  • else
  • 'Année non bisextile
  • if tsDay > 28 then
  • IsValidDate = false
  • exit function
  • end if
  • end if
  • case 4, 6, 9, 11
  • 'On a 30 jours dans le mois...
  • if tsDay > 30 then
  • IsValidDate = false
  • exit function
  • end if
  • 'case else
  • 'Les tests ont déjà été effectués pour les mois de 31 jours :)
  • end select
  • end function
  • %>
<%
Function IsValidDate(tsYear, tsMonth, tsDay)
'Développé par Pascal MILLIEZ
'Fonction permettant de valider une date, avec gestion des années bisextiles 
'---------------------------------------------------------------------
'	Paramètres :
'		tsYear		: Année (nombre entier)
'		tsMonth		: Mois (compris entre 1 et 12 inclus)
'		tsDay		: Jour (compris entre 1 et 31 inclus)
'	Valeurs retournées :
'		True		: La date est valide
'		False		: La date est invalide	
'----------------------------------------------------------------------

	Dim AnneeBisexstile

	IsValidDate =True
	if isnumeric(tsYear) = false or isnumeric(tsMonth) = false or isnumeric(tsDay) = false then
		
		IsValidDate = false
		exit function
	end if

	if tsYear > 2099  then
		IsValidDate = false
		exit function
	end if	
	
	if tsMonth > 12 or tsMonth < 1  then
		IsValidDate = false
		exit function
	end if
	
	if tsDay > 31 or tsDay < 1  then
		IsValidDate = false
		exit function
	end if	
	
	Select case tsMonth
		case 2
		' Le mois de février peut avoir soit 28 jours, soit 29
		' Tout dépend si l'année est bisextile ou pas

		' Merci à garfield90 pour son aide :)
			AnneeBisexstile = 0
			if tsYear mod 4 = 0 then AnneeBisexstile = 1
			if tsYear mod 100 = 0 then AnneeBisexstile = 0
			if tsYear mod 400 = 0 then AnneeBisexstile = 1

			if AnneeBisexstile = 1 then
			'Année bisextile !!
				if tsDay > 29 then
					IsValidDate = false
					exit function
				end if
			else
			'Année non bisextile
				if tsDay > 28 then
					IsValidDate = false
					exit function
				end if
			end if
				
		case 4, 6, 9, 11
			'On a 30 jours dans le mois...
			if tsDay > 30 then
				IsValidDate = false
				exit function
			end if	
		'case else
		'Les tests ont déjà été effectués pour les mois de 31 jours :)
	end select
end function

%>

 Conclusion

Si vous avez des améliorations à me faire parvenir pour ce code, n'hésitez pas à me contacter pas la Messagerie Interne du site.


 Sources du même auteur

GÉNÉRATION AUTOMATIQUE DE TABLEAUX CROISÉS EN FONCTION D'UNE...
GÉNÉRER UNE CHAINE ALÉATOIRE
Source avec Zip GESTIONNAIRE DE NEWS AVEC COMMENTAIRES
FONCTIONS DE CONVERSION FRANCS <> EURO
Source avec Zip FAIRE DES TÉLÉCHARGEMENTS EXCLUSIFS

 Sources de la même categorie

CONVERSION D'UNE DATE/HEURE STANDARD VERS DATE/HEURE CONFORM... par processus
CALCUL DE L'AGE D'UNE PERSONNE (ASP VBSCRIPT) par bluedemon
CONVERSION DE GMT À LOCAL ET DE LOCAL À GMT par revolt
Source avec Zip CALENDRIER DYNAMIQUE AVEC JOURS FERIES par label97
SAISIR DATE FR DANS MYSQL par jeckel

 Sources en rapport avec celle ci

Source avec Zip GESTION DES SKIN par youdream
Source avec Zip Source .NET (Dotnet) APPLICATION D'UNE PARC INFORMATIQUE par mami17
Source avec Zip UPLOAD ET SA GESTION VIA FSO par Caius_junioricus
Source avec Zip Source .NET (Dotnet) CLASSE AVEC QUE DES MEMBRES ET DES MÉTHODES STATIQUES POUR G... par tikrimi
Source avec Zip CALCULER LE NOMBRE DE JOURS FÉRIÉS ENTRE 2 DATES par jessie

Commentaires et avis

Commentaire de garfield90 le 16/04/2004 09:31:48

en lisant le source, je crois que t'as pas pris en compte le fait que si une année est divisible par 4 et par 100, l'année n'est pas bisextille
Sinon tu aurais pu aussi passé une date sous ce format (dd-mm-aaaa ou dd/mm/aaaa) plutot que sous le format dd,mm,aaaa pour moi ce serait plus propre

Commentaire de garfield90 le 16/04/2004 09:42:28

en fait, je me suis mal exprimer.
est bisextille, les années divisibles par 4 sauf les années divisibles par 100 exception faite des années divisibles par 400
au fait je viens d'y penser la fonction isdate() existe et fonctionne très bien alors pourquoi la recréer????

Commentaire de BinOff le 17/04/2004 12:26:31

à l'orginie, je l'ai créée pour vérifier à partir d'une date de la forme YYYYMMDD indiquée par un utilisateur.

Mon serveur ASP étant américain, lorsque j'ajoutais une date formatée par DateSerial dans ma base de donnée, me l'ajoutait au format américain et non français.

Bref si j'ai fait cette fonction c'est parce que j'avais des problèmes au niveau de la validation de mes dates.

Je vais corriger de suite le code avec tes indications. Merci encore garfield90

Commentaire de Focalizer le 19/04/2004 06:30:29

t'as essayé de mettre un Session.LCID = 1036 au début de tes pages ? ca remetra tes date en fr :)

Commentaire de Focalizer le 19/04/2004 06:30:29

t'as essayé de mettre un Session.LCID = 1036 au début de tes pages ? ca remetra tes date en fr :)

Commentaire de BinOff le 19/04/2004 12:10:15

oui Focalizer, j'ai essayé, mais ca n'a rien changé... :'(
merci quand même :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Vérifier la taille d'un fichier avant l'upload [ par Dura ] BonjourJ'ai un petit prob,Dans un formulaire classique, il y a un champ "image" = upload!Je vérifie tous les champs sauf la taille du fichier à upload Probleme URGENT [ par jamal ] je voudrais faire un truc similaire à ce site : http://www.expressimmo.comet plus précisément sur la "gestion des annonces" et la "gestion du compte", probleme [ par jamal ] je voudrais faire un truc similaire à ce site : http://www.expressimmo.comet plus précisément sur la "gestion des annonces" et la "gestion du compte", Duplication de Table [ par TOFF ] SalutJe voudrait savoir s'il est possible de dupliquer une table ACCESS via ASP.Ce que je veut faire :j'ai une table client et lorsque l'année est fin Gestion de langue (fr & us) dans une appli Web [ par CBoisseau ] Bonjour,je m'arrache les cheveux pour gérer 2 langues dans une appli web. J'ai la meme page ASP pour les 2 langues et je prends mes textes d'une base Vérifier un lien [ par Vanessa ] j'ai un lien vers un fichier (http://server.com/fichier.truc) et j'aimerais savoir si le lien est toujours valide ...j'ai essayé ça :----------------- CDONTS : comment vérifier l'envoie ? [ par axel ] OK, CDONTS peut envoyer des emails, mais comment faire pour gérer les cas où l'envoi plante, où l'adresses de destination est mauvaise, etc ?Dans tous CDONTS : comment vérifier l'envoi ? [ par axel ] OK, CDONTS peut envoyer des emails, mais comment faire pour gérer les cas où l'envoi plante, où l'adresses de destination est mauvaise, etc ?Dans tous Gestion des erreurs pour l'ouverture d'un fichier texte [ par ypothier ] strFileName = Server.MapPath(Racine + "ecosys.ini")Set FSO = Server.CreateObject("Scripting.FileSystemObject")Set TS = FSO.OpenTextFile(strFileName, F urgent!!!comment faire la gestion d'un panier de commerce electronique [ par koub ] salut tt le mondej'ai un projet de creation d'un site de commerce electroniqueje n'ai pas pu faire le gestiion de panier alors svp aidez c'est urgentm


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,700 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales