begin process at 2012 02 04 22:51:03
  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

Note :
Aucune note
Catégorie :Date / Heure Classé sous :date, verifier, format, heure Niveau :Débutant Date de création :23/03/2007 Vu :11 652

Auteur : evay16

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

 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

Source avec une capture AGENDA GRAPHIQUE SIMPLE (DÉBUTANT) À INTÉGRER par NicomakM
CALCUL DU NOMBRE DE JOURS CONTENUS DANS L'INTERSECTION DE DE... par curphey
CALENDRIER EN 70 LIGNES par tchconst
Source avec Zip CALENDRIER par gabay
CALENDRIER SIMPLE par manuche

 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 calculer une date avec php/mysql [ par morpheus83 ] Bonjour, j'ai un probleme a regler...vous vous en doutez [^^yeuxenlair]. j'ai une base de donnee mysql avec 2 champs : date_sortie : format date numer PHP5 bug?syntaxe, affichage de date lorsque son format est une variable [ par vincseize ] [b]Bonjour[/b] Je souhaiterais pouvoir changer le format de date comme bon me semble; j'ai mis son format dans une variable, mais: -> [b]$format_d petit soucis sur PHP/JS [ par oliopur ] Voici les p'tit problemes : Sur une base de donnée j'ai un champ qui contient la date et l'heure de suppression future d'un enregistrement sous la for comment faire une requete mysql count avec date_format [ par hdh ] Bonjour, aïe ! je me heurte à une requète mysql que je n'arrive pas à résoudre : j'ai une table simplissime contenant - un identifiant utilisateur 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


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,608 sec (3)

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