begin process at 2010 03 22 14:38:10
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date / Heure

 > FONCTION DE VÉRIFICATION DE LA DATE ET DE L'HEURE

FONCTION DE VÉRIFICATION DE LA DATE ET DE L'HEURE


 Information sur la source

 Description

La date et l'heure intervienne souvent dans divers projets, comme l'usage d'un calendrier par exemple, il est donc interressent de pouvoir vérifier les dates inscrites par les utilisateurs, afin non seulement de vérifier leurs validités mais aussi pourquoi pas les placer au format de date US, c'est-à-dire AAAA-MM-JJ, qui rappelons-le et le format dans lequel les dates doivent être inserée dans un champ de type "Date" d'une base de donnée.

Les deux fonctions que je vous propose ici, permettent, pour la fonction "Verif_Date($Date)" de vérifier la validité d'une date (returne false en cas d'échec) ainsi que, dans le cas d'une date valable, la retourner en format US, prette a etre inserée dans une table. Ce fonction et interresente sur le fait que l'utilisateur ne doit pas respecter un format de date ou un certain type de séparateur entre les chiffres; la fonction adaptera automatiquement la date au bon format

Exemple:
1/1/2007 retournera 2007-01-01
04-2-06 retournera 2006-02-04
08/03/2007 retournera 2007-03-08

La fonction de vérification de l'heure permet, tout comme la fonction Verif_Date, de remetre en place un heure entrée par l'utilisateur, quelque soit le format qu'il aie appliqué, que se soit 14:00 ou 14H00 ou n'importe quel autre séparateur.

Source

  • function Zero($Num)
  • {
  • if($Num < 10 && strlen($Num) < 2)
  • $Num = '0'.$Num;
  • return $Num;
  • }
  • function Verif_Date($Date)
  • {
  • $Pos_1 = substr($Date, 2, 1);
  • $Pos_2 = substr($Date, 1, 1);
  • if (!(is_numeric($Pos_1)))
  • $Separateur = $Pos_1;
  • elseif (!(is_numeric($Pos_2)))
  • $Separateur = $Pos_2;
  • else
  • return false;
  • $Tableau = explode($Separateur, $Date);
  • $Jour = Zero($Tableau[0]);
  • $Mois = Zero($Tableau[1]);
  • if (strlen($Tableau[2]) == 2)
  • $Annee = '20'.$Tableau[2];
  • elseif (strlen($Tableau[2]) == 4)
  • $Annee = $Tableau[2];
  • $Date_SQL = $Annee.'-'.$Mois.'-'.$Jour;
  • if (checkdate($Mois, $Jour, $Annee))
  • return $Date_SQL;
  • else
  • return false;
  • }
  • function Verif_Heure($Heure)
  • {
  • $Pos_1 = substr($Heure, 1, 1);
  • $Pos_2 = substr($Heure, 2, 1);
  • if (!(is_numeric($Pos_1)))
  • $Separateur = $Pos_1;
  • elseif (!(is_numeric($Pos_2)))
  • $Separateur = $Pos_2;
  • else
  • return false;
  • $Tableau = explode($Separateur, $Heure);
  • $Heures = Zero($Tableau[0]);
  • $Minutes = Zero($Tableau[1]);
  • if (is_numeric($Heures) && is_numeric($Minutes))
  • {
  • if ($Heures < 24 && $Minutes < 60)
  • return $Heures.':'.$Minutes;
  • else
  • return false;
  • }
  • else
  • return false;
  • }
        function Zero($Num)
	{
		if($Num < 10 && strlen($Num) < 2)
			$Num = '0'.$Num;
		return $Num;
	}
        function Verif_Date($Date)
	{
		$Pos_1 = substr($Date, 2, 1);
		$Pos_2 = substr($Date, 1, 1);
		if (!(is_numeric($Pos_1)))
			$Separateur  = $Pos_1;
		elseif (!(is_numeric($Pos_2)))
			$Separateur  = $Pos_2;
		else
			return false;
		$Tableau = explode($Separateur, $Date);
		$Jour = Zero($Tableau[0]);
		$Mois = Zero($Tableau[1]);		
		if (strlen($Tableau[2]) == 2)
			$Annee = '20'.$Tableau[2];
		elseif (strlen($Tableau[2]) == 4)
			$Annee = $Tableau[2];
		$Date_SQL = $Annee.'-'.$Mois.'-'.$Jour;
		if (checkdate($Mois, $Jour, $Annee))
			return $Date_SQL;
		else
			return false;
	}
	function Verif_Heure($Heure)
	{
		$Pos_1 = substr($Heure, 1, 1);
		$Pos_2 = substr($Heure, 2, 1);
		if (!(is_numeric($Pos_1)))
			$Separateur  = $Pos_1;
		elseif (!(is_numeric($Pos_2)))
			$Separateur  = $Pos_2;
		else
			return false;
		$Tableau = explode($Separateur, $Heure);
		$Heures = Zero($Tableau[0]);
		$Minutes = Zero($Tableau[1]);
		if (is_numeric($Heures) && is_numeric($Minutes))
		{
			if ($Heures < 24 && $Minutes < 60)
				return $Heures.':'.$Minutes;
			else
				return false;
		}
		else
			return false;		
	}



 Sources de la même categorie

FORMATER DES MILLISECONDES AU FORMAT HH:MM:SS:MMM par lcef
Source avec Zip CLASSE DATETIME AVEC TRADUCTION par 1030
DIFFÉRENCE ENTRE DEUX DATE EN JOURS (LISTE RÉCUPÉRÉE DANS UN... par DevilTN
Source avec Zip Source avec une capture CALENDRIER + AGENDA TRÈS SIMPLE (GERER LES JOURS FÉRIÉS ET L... par mondherclubiste
Source avec une capture CALENDRIER DES RÉSERVATIONS EN PHP par mathieubond

 Sources en rapport avec celle ci

FORMATER DES MILLISECONDES AU FORMAT HH:MM:SS:MMM par lcef
Source avec Zip CLASSE DATETIME AVEC TRADUCTION par 1030
Source avec Zip CLASSE DATETIME ÉTENDUE PHP 5.2 par nautilus99
Source avec Zip GÉNÉRATEUR DE DATE DANS TOUTES LES LANGUES DU MONDE EN (PHP)... par abdelaziz_info
Source avec Zip CLASS DE VALIDATIONS DE DATE, ENTIER, STRING,... par whiskycoke

Commentaires et avis

Commentaire de Pascail le 24/03/2007 19:43:44

Bonne idée. Pour être chiant, est-ce qu'il ne serait pas aussi intéressant de vérifier lequel des deux doublet est le mois et lequel est le jour. A partir du moment où un est au dessus de 12 c'est obligatoirement le jour, sinon, il faudrait demander à l'utilisateur. Enfin c'est juste une petite idée !

Commentaire de evay16 le 24/03/2007 21:00:21

En effet, c'est aussi une solution possible , beaucoup d'élément dépendent du contexte dans lequel tu utilise ta fonction.

Merci pour ton commentaire.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

format de date et time en c+ [ par tertulia ] comment modifier le format de la date c'est dire remplacer les / par - et de l'heure càd remlacer : par - voilac pour pouvoir creer un fichier avec la verifier date formulaire [ par thezuzu ] Bonjour, je ne c'est pas si cette question a deja ete pose alors je la demande quand je voudrais avoir un code en php ou javascript qui verifirait si Changer le format d'un timestamp [ par ofillion ] Bonjour à tous, Dans ma base, j'ai un champs timestamp qui enregistre par défaut la date et l'heure du jour lors de l'ajout d'un enregistrement. Elle date [ par vistel ] bonjour à tous je sais convertir une date au format UNIX exemple: $date = strftime("%d/%m/%Y %H:%M", $date); mais pour le contraire comment faire? s Fonction date() et décalage horaire [ par pouchteck ] Bonjour, Je suis en train de programmer une partie commentaires en PHP pour mon site, et je voudrais afficher la date et l'heure de post, avec la fonc heure date [ par woresa ] Bonsoir a tous Je voudrai savoir comment les phpeurs arrivent a afficher l'heure exacte selon les pays des visiteurs. si il y a un tuto veuillez m' Gestion des dates et format [ par thaiboxing ] Bonjour, Je suis entrain de découvrir php a l'aide d'un guide php, et la je bloque sur mon code le voici : //Code calendrier date et heure // Envoie de mail selon une heure et une date donnée stockée [ par vw91 ] Bonjour, Je fais appel à vous car je cherche à réaliser une chose assez particulière. Je m'explique, je voudrai créer une application php qui permet Chargement d'une date farfelue avec la fonction STRTOTIME [ par ecolom ] Bonjour les z'amis, je ressors mes rames pour un bon moment... pfffffffffffffj'ai un petit soucis avec la commande STRTOTIME.En fait, je désirais affi Temps en heure entre deux date/heure [ par Eliays ] Bonjour, comment calculer le nombre d'heure entre deux date? Par exemple j'ai 01-10-2008/22:00 et 02-10-2008/15:00. Voila je ne vois pas comment d


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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,810 sec (4)

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