begin process at 2012 05 27 14:28:42
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date / Heure

 > CLASSE DATE C++ AVEC FORMAT ET VALEUR NULLE

CLASSE DATE C++ AVEC FORMAT ET VALEUR NULLE


 Information sur la source

Note :
Aucune note
Catégorie :Date / Heure Niveau :Débutant Date de création :27/08/2004 Date de mise à jour :28/08/2004 07:59:50 Vu / téléchargé :17 134 / 688

Auteur : bipcpp

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

 Description

Ce conteneur permet de gérer les dates et les heures.
La valeur nulle est gérée.
La date/heure peut-être saisie ou affichée avec un format personnalisable.

Un exemple :
On défini une date : BP_Date madate;
On affecte un format : madate.setformat ("dd/mm/yyyy hh:nn:ss");
On entre la date : madate.set ("01/02/2004 23:59:59");
ou : madate.setdatetime (2004, 2, 1, 23, 59, 59);
On rechage le format : madate.setformat ("To!day i!s : m/d/yy");
On utilise la date : monstring = madate.str(); (monstring = "Today is : 2/1/04");

Source

  • Un aperçu du .H :
  • // include BipDATE only one time
  • #ifndef _BipDATE_
  • #define _BipDATE_
  • class BP_Date
  • {
  • private:
  • time_t tBP_Date; // store the date
  • std::string sBP_Format; // store the format of the date
  • bool bBP_Null; // true if date is null
  • int iBPError; // store error code
  • public:
  • BP_Date (); // constructor
  • setdatetime (const int BPyear, const int BPmonth, const int BPday,
  • const int BPhour, const int BPmin, const int BPsec);
  • set (const std::string BPdate);
  • std::string str (void);
  • int BP_Date::geterror (void);
  • setformat (const std::string BPformat);
  • std::string getformat (void);
  • BP_Date::settimet (time_t BPtimet);
  • time_t BP_Date::gettimet (void);
  • int BP_Date::day (void);
  • int BP_Date::month (void);
  • int BP_Date::year (void);
  • int BP_Date::hour (void);
  • int BP_Date::minute (void);
  • int BP_Date::second (void);
  • bool BP_Date::isnull (void);
  • BP_Date::setnull (void);
  • reset (void);
  • };
  • #endif /* _BipDATE_ */
Un aperçu du .H :

// include BipDATE only one time
#ifndef _BipDATE_
#define _BipDATE_

class BP_Date
{
	private:
		time_t tBP_Date;			// store the date
		std::string sBP_Format;		// store the format of the date
		bool bBP_Null;				// true if date is null
		int iBPError;				// store error code

	public:
		BP_Date (); // constructor
		setdatetime (const int BPyear, const int BPmonth, const int BPday,
			  const int BPhour, const int BPmin, const int BPsec);
		set (const std::string BPdate);
		std::string str (void);
		int BP_Date::geterror (void);
		setformat (const std::string BPformat);
		std::string getformat (void);
		BP_Date::settimet (time_t BPtimet);
		time_t BP_Date::gettimet (void);
		int BP_Date::day (void);
		int BP_Date::month (void);
		int BP_Date::year (void);
		int BP_Date::hour (void);
		int BP_Date::minute (void);
		int BP_Date::second (void);
		bool BP_Date::isnull (void);
		BP_Date::setnull (void);
		reset (void);
};


#endif /* _BipDATE_ */

 Conclusion

Documentation, exemples et mises à jour sur http://bipcpp.free.fr/
Les commentaires et suggestions sont les bienvenus.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

28 août 2004 07:59:50 :

 Sources du même auteur

Source avec Zip Source avec une capture AUTOCLIC - AUTOMATISATION DE WINDOWS
Source avec Zip PLANSCAN : SCANNEUR DE FICHIER ET CONFIGURATION PC
Source avec Zip Source avec une capture [ODBC] BIPFILE - FONCTIONS D'ACCÈS AUX BASES DE DONNÉES
Source avec Zip Source avec une capture BIPCPP - FENÊTRE,DIALOG,MENU INTER-ACTIFS
Source avec Zip BIPNUM : CLASSE POUR NOMBRE MONÉTAIRE

 Sources de la même categorie

DATETIMECONVERTER par guill76
Source avec Zip CLASSE DE DATE LOCALISÉE (20 LANGUES) par exar
Source avec Zip CLASSE MOMENT V2.0 par le_duche
CALCUL DATE DE PAQUES (DATE MOBILE) par steph12358
Source avec une capture VACCATION (AVEC FONCTION) CONSOLERIE, REMIX GCC par sebman

Commentaires et avis

Commentaire de BlackGoddess le 30/08/2004 11:07:41

juste au niveau des définitions :

class BP_Date
{
    private:

dans une classe, les membres sont privés par défaut.

peut-être faire des constructeurs pour
       setdatetime (const int BPyear, const int BPmonth, const int BPday,
                const int BPhour, const int BPmin, const int BPsec);
        set (const std::string BPdate);

ne pas oublier la constance des membres qui ne modifient pas les données
ne pas oublier non plus le destructeur virtuel

BP_Date::settimet (time_t BPtimet); BP_Date::setnull (void); reset (void);
=> et le type de retour ?

Commentaire de BlackGoddess le 30/08/2004 11:11:51

peut-etre également rajouter un membre statique :
static BP_Date today()
{
DP_Date d;
d.settimet(time(NULL));
return d;
}

Commentaire de BlackGoddess le 30/08/2004 11:13:28

rajouter également des opérateurs pour les operations entre date, pour ajouter un jour/un mois/une année ?

si tu veux aussi comparer avec une lib existente, tu peux regarder boost::datetime (www.boost.org)

Commentaire de BlackGoddess le 30/08/2004 11:14:59

int BP_Date::day (void); => ca c'est une déclaration C-Style, en c++ on ne met plutôt int BP_Date::day ();

Commentaire de bipcpp le 30/08/2004 19:54:24

Merci d'avoir passer quelques minutes sur mon code.

>> dans une classe, les membres sont privés par défaut.
Tu as raison, mais je trouve que c'est plus lisible de le préciser.

>>peut-etre également rajouter un membre statique :
static BP_Date today()
C'est une excellente idée. Tellement bonne que j'y ai pensé et que c'est déjà fait. (je l'ai seulement appelé setnow)

>>rajouter également des opérateurs pour les operations entre date, pour ajouter un jour/un mois/une année ?
Ca c'est prévu pour la prochaine version, avec comparaison de dates (<,<=,>,>=,...)

>>int BP_Date::day (void); => ca c'est une déclaration C-Style, en c++ on ne met plutôt int BP_Date::day ();
J'ai un penchant pour le void qui indique clairement qu'il n'y a pas de paramètres, mais je vais y réfléchir.

A+

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,842 sec (3)

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