Aggiunta la possibilita' di trattare date informato ANSI (YYYYMMDD).
git-svn-id: svn://10.65.10.50/trunk@47 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
94b43f2779
commit
a5c5edb20a
177
include/date.h
177
include/date.h
@ -1,91 +1,92 @@
|
|||||||
#ifndef __DATE_H
|
#ifndef __DATE_H
|
||||||
#define __DATE_H
|
#define __DATE_H
|
||||||
|
|
||||||
#ifndef __OBJECT_H
|
#ifndef __OBJECT_H
|
||||||
#include <object.h>
|
#include <object.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @C
|
// @C
|
||||||
// Classe TDate : TObject
|
// Classe TDate : TObject
|
||||||
// @END
|
// @END
|
||||||
|
|
||||||
#define TODAY -1
|
#define TODAY -1
|
||||||
|
#define ANSI -1
|
||||||
class TDate : TObject
|
|
||||||
{
|
class TDate : TObject
|
||||||
// @DPRIV
|
{
|
||||||
long _val; // Valore data in formato packed
|
// @DPRIV
|
||||||
|
long _val; // Valore data in formato packed
|
||||||
// @DES Operatori esterni < > <= >= == !=
|
|
||||||
// @FPUB
|
// @DES Operatori esterni < > <= >= == !=
|
||||||
friend bool operator <(const TDate& a, const TDate& b);
|
// @FPUB
|
||||||
friend bool operator >(const TDate& a, const TDate& b);
|
friend bool operator <(const TDate& a, const TDate& b);
|
||||||
friend bool operator <=(const TDate& a, const TDate& b);
|
friend bool operator >(const TDate& a, const TDate& b);
|
||||||
friend bool operator >=(const TDate& a, const TDate& b);
|
friend bool operator <=(const TDate& a, const TDate& b);
|
||||||
friend bool operator ==(const TDate& a, const TDate& b);
|
friend bool operator >=(const TDate& a, const TDate& b);
|
||||||
friend bool operator !=(const TDate& a, const TDate& b);
|
friend bool operator ==(const TDate& a, const TDate& b);
|
||||||
|
friend bool operator !=(const TDate& a, const TDate& b);
|
||||||
public:
|
|
||||||
// @FPUB
|
public:
|
||||||
char* string(int yeardgts = 4, char sep = '-') const ;
|
// @FPUB
|
||||||
// @DES Ritorna la data in formato di stringa
|
char* string(int yeardgts = 4, char sep = '-') const ;
|
||||||
// @FPUB
|
// @DES Ritorna la data in formato di stringa (anche in formato ANSI)
|
||||||
int day() const ; // Ritorna il giorno
|
// @FPUB
|
||||||
int month() const ; // Ritorna il mese
|
int day() const ; // Ritorna il giorno
|
||||||
int year() const ; // Ritorna l'anno
|
int month() const ; // Ritorna il mese
|
||||||
void addmonth(int nmonth = 1); // Aggiunge dei mesi
|
int year() const ; // Ritorna l'anno
|
||||||
void addyear(int nyear = 1); // Aggiunge degli anni
|
void addmonth(int nmonth = 1); // Aggiunge dei mesi
|
||||||
bool ok() const; // Vero se la data e' corretta
|
void addyear(int nyear = 1); // Aggiunge degli anni
|
||||||
static bool isdate(const char*); // Vero se la stringa passata e' una data corretta
|
bool ok() const; // Vero se la data e' corretta
|
||||||
|
static bool isdate(const char*); // Vero se la stringa passata e' una data corretta
|
||||||
// @DES Ridefiniti gli operatori: += -= ++ -- >> e <<
|
|
||||||
// @FPUB
|
// @DES Ridefiniti gli operatori: += -= ++ -- >> e <<
|
||||||
TDate& operator +=(const long nday) { _val += nday; return *this; }
|
// @FPUB
|
||||||
TDate& operator -=(const long nday) { _val -= nday; return *this; }
|
TDate& operator +=(const long nday) { _val += nday; return *this; }
|
||||||
TDate& operator ++() { _val++; return *this; }
|
TDate& operator -=(const long nday) { _val -= nday; return *this; }
|
||||||
TDate& operator --() { _val--; return *this; }
|
TDate& operator ++() { _val++; return *this; }
|
||||||
|
TDate& operator --() { _val--; return *this; }
|
||||||
void print_on(ostream& out) const ;
|
|
||||||
void read_from(istream& in) ;
|
void print_on(ostream& out) const ;
|
||||||
|
void read_from(istream& in) ;
|
||||||
operator long() const { return _val; }
|
|
||||||
|
operator long() const { return _val; }
|
||||||
operator long*() { return &_val;}
|
|
||||||
|
operator long*() { return &_val;}
|
||||||
operator const char*() const ;
|
|
||||||
TDate& operator =(const char* s);
|
operator const char*() const ;
|
||||||
TDate& operator =(long val) { _val = val; return *this;}
|
TDate& operator =(const char* s);
|
||||||
TDate& operator =(const TDate& d) { _val = d._val; return *this;}
|
TDate& operator =(long val) { _val = val; return *this;}
|
||||||
|
TDate& operator =(const TDate& d) { _val = d._val; return *this;}
|
||||||
TDate(const TDate& d);
|
|
||||||
TDate(long l);
|
TDate(const TDate& d);
|
||||||
TDate(const char* s);
|
TDate(long l);
|
||||||
TDate(int day = 0, int month = 0, int year = 0);
|
TDate(const char* s);
|
||||||
};
|
TDate(int day = 0, int month = 0, int year = 0);
|
||||||
|
};
|
||||||
// @FPUB
|
|
||||||
TDate& operator +(const TDate& a, long nday) ;
|
// @FPUB
|
||||||
TDate& operator +(const long nday, const TDate& b) ;
|
TDate& operator +(const TDate& a, long nday) ;
|
||||||
TDate& operator -(const TDate& a, long nday) ;
|
TDate& operator +(const long nday, const TDate& b) ;
|
||||||
inline bool operator <(const TDate& a, const TDate& b) { return a._val < b._val;}
|
TDate& operator -(const TDate& a, long nday) ;
|
||||||
inline bool operator >(const TDate& a, const TDate& b) { return a._val > b._val;}
|
inline bool operator <(const TDate& a, const TDate& b) { return a._val < b._val;}
|
||||||
inline bool operator <=(const TDate& a, const TDate& b) { return a._val <= b._val;}
|
inline bool operator >(const TDate& a, const TDate& b) { return a._val > b._val;}
|
||||||
inline bool operator >=(const TDate& a, const TDate& b) { return a._val >= b._val;}
|
inline bool operator <=(const TDate& a, const TDate& b) { return a._val <= b._val;}
|
||||||
inline bool operator ==(const TDate& a, const TDate& b) { return a._val == b._val;}
|
inline bool operator >=(const TDate& a, const TDate& b) { return a._val >= b._val;}
|
||||||
inline bool operator !=(const TDate& a, const TDate& b) { return a._val != b._val;}
|
inline bool operator ==(const TDate& a, const TDate& b) { return a._val == b._val;}
|
||||||
void swap(TDate& a, TDate& b) ; // Scambia la data a con la data b
|
inline bool operator !=(const TDate& a, const TDate& b) { return a._val != b._val;}
|
||||||
const TDate& fnc_min(const TDate& a, const TDate& b) ; // Ritorna la data piu' piccola tra a e b
|
void swap(TDate& a, TDate& b) ; // Scambia la data a con la data b
|
||||||
const TDate& fnc_max(const TDate& a, const TDate& b) ; // Ritorna la data piu' grande tra a e b
|
const TDate& fnc_min(const TDate& a, const TDate& b) ; // Ritorna la data piu' piccola tra a e b
|
||||||
// @END
|
const TDate& fnc_max(const TDate& a, const TDate& b) ; // Ritorna la data piu' grande tra a e b
|
||||||
|
// @END
|
||||||
const char* itom(byte month); // Ritorna il nome del mese (1-12)
|
|
||||||
const char* itow(byte dayofweek); // Ritorna il nome del giorno (1-7)
|
const char* itom(byte month); // Ritorna il nome del mese (1-12)
|
||||||
|
const char* itow(byte dayofweek); // Ritorna il nome del giorno (1-7)
|
||||||
// @DPUB
|
|
||||||
extern TDate nodate, botime, eotime;
|
// @DPUB
|
||||||
// @END
|
extern TDate nodate, botime, eotime;
|
||||||
|
// @END
|
||||||
#endif // __DATE_H
|
|
||||||
|
#endif // __DATE_H
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user