Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CLASSE DATE AVEC QUELQUES FONCTIONS


Information sur la source

Catégorie :Date / Heure Source .NET ( DotNet ) Classé sous : date, classe, bissextile, valider, temps Niveau : Débutant Date de création : 12/06/2006 Date de mise à jour : 12/06/2006 20:08:56 Vu : 12 721

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note


Description

C'est une simple classe date polyvalente de projets en projets, avec quelques petites fonctions bien pratiques.
 

Source

  • //***** ***** ***** ***** *****//
  • //***** Fait par Eric *** *****//
  • //*** ericmas001@hotmail.com **//
  • //***** ***** ***** ***** *****//
  • using System;
  • namespace RCS
  • {
  • /// <summary>
  • /// Classe qui gère les dates
  • /// </summary>
  • public class Date
  • {
  • // Variables
  • private int m_Jour;
  • private int m_Mois;
  • private int m_An;
  • // Propriétés
  • public int Jour
  • {
  • get{ return m_Jour; }
  • set{ m_Jour = value; }
  • }
  • public int Mois
  • {
  • get{ return m_Mois; }
  • set{ m_Mois = value; }
  • }
  • public int An
  • {
  • get{ return m_An; }
  • set{ m_An = value; }
  • }
  • // Constructeur Date
  • public Date(int jj, int mm, int aaaa)
  • {
  • Jour = jj;
  • Mois = mm;
  • An = aaaa;
  • }
  • // Retourne le nombre de jour que contient un mois d'une année précise
  • public static int nbJours( int mois, int an )
  • {
  • // Si c'est février, c'est exceptionel
  • if( mois == 2 )
  • return ( estBissextile( an ) ? 29 : 28 );
  • else
  • return ( 30 + ( mois + ( ( mois/8 ) + 1 ) % 2 ) );
  • }
  • // Retourne si une année est bissextile ou pas
  • public static bool estBissextile(int an)
  • {
  • bool itIs = false;
  • // Si l'années est divisible par 4, sa en est probablement une
  • if( an % 4 == 0 )
  • itIs = true;
  • // Si par contre elle est divisible par 100, elle ne le sera pas ...
  • if( an % 100 == 0 )
  • itIs = false;
  • // ... sauf si elle est divisible par 400
  • if( an % 400 == 0)
  • itIs = true;
  • return itIs;
  • }
  • // Retourne si la date existe ... est valide
  • public static bool validerDate( int jour, int mois, int an )
  • {
  • bool isGood = true;
  • if( mois < 0 || mois > 12 )
  • isGood = false;
  • if( jour < 0 || jour > Date.nbJours(mois,an) )
  • isGood = false;
  • return isGood;
  • }
  • // Retourne la date en format courant au québec (string)
  • // jj/mm/aaaa
  • public string FormatQc()
  • {
  • return Jour+"/"+Mois+"/"+An;
  • }
  • // Retourne la date en format pratique de base de données (string)
  • // aaaa-mm-jj
  • public string FormatBd()
  • {
  • return An+"-"+Mois+"-"+Jour;
  • }
  • // Retourne une date depuis une chaine de format Qc
  • public static Date getFromQc( string s )
  • {
  • string[] d = s.Split('/');
  • return new Date(int.Parse(d[0]),int.Parse(d[1]),int.Parse(d[2]));
  • }
  • // Retourne une date depuis une chaine de format pratique de base de données
  • public static Date getFromBd( string s )
  • {
  • string[] d = s.Split('-');
  • return new Date(int.Parse(d[2]),int.Parse(d[1]),int.Parse(d[0]));
  • }
  • }
  • }
//***** ***** ***** ***** *****//
//***** Fait par Eric *** *****//
//*** ericmas001@hotmail.com **//
//***** ***** ***** ***** *****//
using System;

namespace RCS
{
	/// <summary>
	/// Classe qui gère les dates
	/// </summary>
	public class Date
	{
		// Variables
		private int m_Jour;
		private int m_Mois;
		private int m_An;

		// Propriétés
		public int Jour
		{
			get{ return m_Jour; }
			set{ m_Jour = value; }
		}
		public int Mois
		{
			get{ return m_Mois; }
			set{ m_Mois = value; }
		}
		public int An
		{
			get{ return m_An; }
			set{ m_An = value; }
		}

		// Constructeur Date
		public Date(int jj, int mm, int aaaa)
		{
			Jour = jj;
			Mois = mm;
			An = aaaa;
		}

		// Retourne le nombre de jour que contient un mois d'une année précise
		public static int nbJours( int mois, int an )
		{
			// Si c'est février, c'est exceptionel
			if( mois == 2 )
				return ( estBissextile( an ) ? 29 : 28 );
			else
				return ( 30 + ( mois + ( ( mois/8 ) + 1 ) % 2 ) );
		}

		// Retourne si une année est bissextile ou pas
		public static bool estBissextile(int an)
		{
			bool itIs = false;
        
			// Si l'années est divisible par 4, sa en est probablement une
			if( an % 4 == 0 )
				itIs = true;
        
			// Si par contre elle est divisible par 100, elle ne le sera pas ...
			if( an % 100 == 0 )
				itIs = false;
        
			// ... sauf si elle est divisible par 400
			if( an % 400 == 0)
				itIs = true;
        
			return itIs;
		}

		// Retourne si la date existe ... est valide
		public static bool validerDate( int jour, int mois, int an )
		{
			bool isGood = true;

			if( mois < 0 || mois > 12 )
				isGood = false;

			if( jour < 0 || jour > Date.nbJours(mois,an) )
				isGood = false;
        
			return isGood;
		}

		// Retourne la date en format courant au québec (string)
		// jj/mm/aaaa
		public string FormatQc()
		{
			return Jour+"/"+Mois+"/"+An;
		}

		// Retourne la date en format pratique de base de données (string)
		// aaaa-mm-jj
		public string FormatBd()
		{
			return An+"-"+Mois+"-"+Jour;
		}

		// Retourne une date depuis une chaine de format Qc
		public static Date getFromQc( string s )
		{
			string[] d = s.Split('/');
			return new Date(int.Parse(d[0]),int.Parse(d[1]),int.Parse(d[2]));
		}

		// Retourne une date depuis une chaine de format pratique de base de données
		public static Date getFromBd( string s )
		{
			string[] d = s.Split('-');
			return new Date(int.Parse(d[2]),int.Parse(d[1]),int.Parse(d[0]));
		}

	}
}

Historique

12 juin 2006 19:58:53 :
.
12 juin 2006 20:08:56 :
Ajout des fonctions getFromQc( string s ) et getFromBd( string s )

Commentaires et avis

signaler à un administrateur
Commentaire de Nikoui le 13/06/2006 09:42:38

Heu, as tu entendu parlé de la classe DateTime, fournie avec le framework ?

signaler à un administrateur
Commentaire de ricklekebekoi le 13/06/2006 14:12:29

Oui enfin pas pour ces utilités. DateTime était pour moi un répertoire de petites fonctions statics en lien avec la date actuelle.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Comment enregistrer une image dans une table access [ par phcm ] Bonjour j ai une form et une classe (ou sont crées mes datasets et objtes pour sql) depuis la form je passe mon image a la classe <div class="sma SerialPort.Close() ==> freeze [ par brixi69 ] J'ai un problème avec l'utilisation de la classe serialPort. J'ai crée des fonctions utilsant le port série. Elles ouvrent le port, exécutent les comm BDD access + c# [ par Jojo092 ] Bonjour à tous,j'ai une question. J'ai une base de donnée access avec une classe auto. Dans cette classe, il y a un champ qui s'appelle Prix. Mon but Datetime intelligent ou non ? [ par Moomoon07 ] Salut !Lorsque j'utilise datetime.addyears(1) sur la date 29février2006 (en imaginant que le 29 février existe en 2006, la flême de vérifier), est ce Héritage de classe [ par kiboumz ] Bonjour,Je me demandais si vous ne connaisseriez pas de tutorial qui expliquerait bien les notions d'héritages, d'interfaces, de redéfinition de métho datetime [ par cudenetf ] bonjour,je mets des elements de type datetime ds une bdlorsque je les sorts (avec un datareader) et ke je le met en texte pour un tableau visuel par e opacity [ par cudenetf ] Bonjour,j'ai créé un formulaire avec opacity = 95 que j'ajoute a un autre (qui a un logo) afin d'avoir un "fond d'ecran".cependant le "temps d'executi besoin d'aide [ par mfulgore ] salut mon prob avec c#dans un textbox j'indique une date, puis ce sauvegarde dans une datagridle prob c'est que cette date est un stringje souhaite ut extinction de pc [ par sheorogath ] salut a tous ,j'ai developper une application C# la j'ai pu resoudre tout les probleme que j'ai eut avec plus ou moins d'aide mais la j'ai un truc biz Dates [ par eldim ] Bonjour,Etant développeur VB.NET j'essai le C# pour me faire une petite DLL. Problème : en VB.NET on a une fonction de formatage de date qui n'existe


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.