home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / dev / Libraries / Date / src / DateClass.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-30  |  7.3 KB  |  233 lines

  1.  
  2.  #include "Date.h"
  3.  
  4.  /* ----------------------------------------------------------------------- */
  5.  
  6.  class timeduration
  7.   {
  8.    private:
  9.      unsigned short days,hours,mins,secs;
  10.  
  11.      timeduration(unsigned short days, unsigned short hours, unsigned short mins, unsigned short secs);
  12.  
  13.    public:
  14.      timeduration(float jd);
  15.      timeduration(double jd);
  16.      timeduration(unsigned short hours=0, unsigned short mins=0, unsigned short secs=0);
  17.  
  18.      bool operator==(const timeduration &td) const;
  19.      bool operator!=(const timeduration &td) const;
  20.      bool operator< (const timeduration &td) const;
  21.      bool operator> (const timeduration &td) const;
  22.      bool operator<=(const timeduration &td) const;
  23.      bool operator>=(const timeduration &td) const;
  24.  
  25.      timeduration operator+(const timeduration &td) const;
  26.      timeduration operator-(const timeduration &td) const;
  27.  
  28.      const timeduration &operator+=(const timeduration &td);
  29.      const timeduration &operator-=(const timeduration &td);
  30.  
  31.      timeduration operator*(const unsigned short tdm) const;
  32.      timeduration operator*(const unsigned int   tdm) const;
  33.      timeduration operator*(const unsigned long  tdm) const;
  34.      timeduration operator/(const unsigned short tdd) const;
  35.      timeduration operator/(const unsigned int   tdd) const;
  36.      timeduration operator/(const unsigned long  tdd) const;
  37.  
  38.      const timeduration &operator*=(const unsigned short tdm);
  39.      const timeduration &operator*=(const unsigned int   tdm);
  40.      const timeduration &operator*=(const unsigned long  tdm);
  41.      const timeduration &operator/=(const unsigned short tdd);
  42.      const timeduration &operator/=(const unsigned int   tdd);
  43.      const timeduration &operator/=(const unsigned long  tdd);
  44.  
  45.      unsigned long operator/(const timeduration &td) const;
  46.  
  47.      unsigned long operator%(const timeduration &td) const;
  48.  
  49.      unsigned short gethours(void) const;
  50.      unsigned short getmins(void) const;
  51.      unsigned short getsecs(void) const;
  52.      unsigned long getinsecs(void) const;
  53.  
  54.      // strings
  55.   };
  56.  
  57.  
  58.  class dateduration
  59.   {
  60.    // weeks ???
  61.  
  62.    private:
  63.      unsigned long days;
  64.      unsigned short months,years;
  65.  
  66.    public:
  67.      dateduration(unsigned long days=0, unsigned short months=0, unsigned short years=0);
  68.  
  69.      bool operator==(const dateduration &dd) const;
  70.      bool operator!=(const dateduration &dd) const;
  71.      bool operator< (const dateduration &dd) const;
  72.      bool operator> (const dateduration &dd) const;
  73.      bool operator<=(const dateduration &dd) const;
  74.      bool operator>=(const dateduration &dd) const;
  75.  
  76.      dateduration operator++();
  77.      dateduration operator++(int);
  78.      dateduration operator--();
  79.      dateduration operator--(int);
  80.  
  81.      dateduration operator+(const dateduration &dd) const;
  82.      dateduration operator-(const dateduration &dd) const;
  83.  
  84.      const dateduration &operator+=(const dateduration &dd);
  85.      const dateduration &operator-=(const dateduration &dd);
  86.  
  87.      dateduration operator*(const unsigned short ddm) const;
  88.      dateduration operator*(const unsigned int   ddm) const;
  89.      dateduration operator*(const unsigned long  ddm) const;
  90.      dateduration operator/(const unsigned short ddd) const;
  91.      dateduration operator/(const unsigned int   ddd) const;
  92.      dateduration operator/(const unsigned long  ddd) const;
  93.  
  94.      const dateduration &operator*=(const unsigned short ddm);
  95.      const dateduration &operator*=(const unsigned int   ddm);
  96.      const dateduration &operator*=(const unsigned long  ddm);
  97.      const dateduration &operator/=(const unsigned short ddd);
  98.      const dateduration &operator/=(const unsigned int   ddd);
  99.      const dateduration &operator/=(const unsigned long  ddd);
  100.  
  101.      unsigned long operator/(const dateduration &dd) const;
  102.  
  103.      unsigned long operator%(const dateduration &dd) const;
  104.  
  105.      unsigned long getdays(void) const;
  106.      unsigned short getmonths(void) const;
  107.      unsigned short getyears(void) const;
  108.      unsigned long getindays(void) const;
  109.  
  110.      // strings
  111.   };
  112.  
  113.  
  114.  class time
  115.   {
  116.    private:
  117.      unsigned short hour,min,sec;
  118.      short zone;
  119.  
  120.    public:
  121.      time(float jd, short zone = 0);
  122.      time(double jd, short zone = 0);
  123.      time(unsigned short hour=0, unsigned short min=0, unsigned short sec=0, short zone=0);
  124.  
  125.      bool operator==(time t) const;
  126.      bool operator!=(time t) const;
  127.      bool operator< (time t) const;
  128.      bool operator> (time t) const;
  129.      bool operator<=(time t) const;
  130.      bool operator>=(time t) const;
  131.  
  132.      timeduration operator-(time t) const;
  133.  
  134.      time operator+(const timeduration &td) const;
  135.      time operator-(const timeduration &td) const;
  136.  
  137.      const time &operator+=(const timeduration &td);
  138.      const time &operator-=(const timeduration &td);
  139.  
  140.      time operator<<(const unsigned short subzone) const;
  141.      time operator>>(const unsigned short addzone) const;
  142.  
  143.      const time &operator<<=(const unsigned short subzone);
  144.      const time &operator>>=(const unsigned short addzone);
  145.  
  146.      const time &operator[](const short zone); // t1[-5] = time(18,0,0,+3);
  147.  
  148.      time operator()(const short zone) const;
  149.  
  150.      unsigned short gethour(void) const;
  151.      unsigned short getmin(void) const;
  152.      unsigned short getsec(void) const;
  153.      short getzone(void) const;
  154.      float getjd(void) const;
  155.  
  156.      // country dependend
  157.      // meridian,pos
  158.      // strings
  159.     };
  160.  
  161.  
  162.  class date
  163.   {
  164.    private:
  165.      unsigned short day,month;
  166.      int year;
  167.  
  168.    public:
  169.  
  170.      // typedef enum{dayerr,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday} Weekdays;
  171.  
  172.      date(unsigned long jd);
  173.      date(unsigned short day, unsigned short month, int year);
  174.  
  175.      bool operator==(const date &d) const;
  176.      bool operator!=(const date &d) const;
  177.      bool operator< (const date &d) const;
  178.      bool operator> (const date &d) const;
  179.      bool operator<=(const date &d) const;
  180.      bool operator>=(const date &d) const;
  181.  
  182.      bool operator==(const Weekdays wd) const;
  183.      bool operator!=(const Weekdays wd) const;
  184.      bool operator< (const Weekdays wd) const;
  185.      bool operator> (const Weekdays wd) const;
  186.      bool operator<=(const Weekdays wd) const;
  187.      bool operator>=(const Weekdays wd) const;
  188.  
  189.      bool operator!() const;
  190.  
  191.      dateduration operator-(const date &d) const;
  192.  
  193.      date operator+(const dateduration &dd) const;
  194.      date operator-(const dateduration &dd) const;
  195.  
  196.      const date &operator+=(const dateduration &dd);
  197.      const date &operator-=(const dateduration &dd);
  198.  
  199.      date operator+(const Weekdays wd) const;
  200.      date operator-(const Weekdays wd) const;
  201.  
  202.      const date &operator+=(const Weekdays wd);
  203.      const date &operator-=(const Weekdays wd);
  204.  
  205.      date operator++();
  206.      date operator++(int);
  207.      date operator--();
  208.      date operator--(int);
  209.  
  210.      unsigned short getday(void) const;
  211.      unsigned short getmonth(void) const;
  212.      int getyear(void) const;
  213.      unsigned short getweek(void) const;
  214.      Weekdays getweekday(void) const;
  215.      unsigned long getjd(void) const;
  216.      unsigned long getmjd(void) const;
  217.      unsigned int getscaliger(void) const;
  218.      unsigned short getmoonage(void) const;
  219.      date getmoonphase(const MoonPhases phase) const;
  220.  
  221.      // days of month
  222.      // days of year
  223.      // (next/last) easter
  224.      // strings
  225.      // country dependend
  226.   };
  227.  
  228.  /* ----------------------------------------------------------------------- */
  229.  
  230.  date Easter(const int year);
  231.  
  232.  /* ----------------------------------------------------------------------- */
  233.