C'est une simple classe date polyvalente de projets en projets, avec quelques petites fonctions bien pratiques.
Source / Exemple :
//***** ***** ***** ***** *****//
//***** 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]));
}
}
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.