00001 // Copyright (C) 2006 Bryan Jacobson <bryanjacobson@users.sourceforge.net> 00002 // This program is licensed under the terms of the GNU General Public License 00003 // version 2, as published by the Free Software Foundation. 00004 // This program is distributed in the hope that it will be useful, 00005 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00006 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00007 00008 #ifndef TIME_H 00009 #define TIME_H 00010 00014 00015 class Time 00016 { 00017 public: 00019 static void ProcessTime(Data *p, double &startTime, double &endTime); 00020 private: 00021 }; 00022 00024 struct ExpandedDateTime 00025 { 00026 ExpandedDateTime(); 00027 void Print(int full = 0, FILE *fp = stdout); 00028 int mYear; 00029 int mMonth; 00030 int mDay; 00031 int mLeapFlag; 00032 int mHours; 00033 int mMinutes; 00034 int mSeconds; 00035 }; 00036 00038 double EdtToTime(ExpandedDateTime *pd); 00039 00041 void TimeToEdt(ExpandedDateTime *p, double time); 00042 00044 double GetCurrentTime(); 00045 00047 //inline double HoursToTime(double h) { return h / 24.0; } 00048 #define HoursToTime(h) ( ((double)h) / 24.0 ) 00049 00051 void PrintTime(double d, int full = 0); 00052 00054 double StrToDate(char *s); 00055 00057 void TestTime(char *timeStr); 00058 00059 Data *TimeAct(Context *p); 00060 00061 #endif // TIME_H