#include #include "cTime.h" TimeObj::TimeObj () { _yr = 0; _day = 0; _msec = 0; } TimeObj::TimeObj (dbINT yr, dbINT day, dbLONG msec) { _yr = yr; _day = day; _msec = msec; } TimeObj & TimeObj::operator = (const TimeObj &t) { if (this != &t) { _yr = t._yr; _day = t._day; _msec = t._msec; } return *this; } int TimeObj::CompareWith (const TimeObj *t) { if (this != t) { if (_yr < t->_yr) return -1; else if (_yr > t->_yr) return 1; else if (_day < t->_day) return -1; else if (_day > t->_day) return 1; else if (_msec < t->_msec) return -1; else if (_msec > t->_msec) return 1; } return 0; } void TimeObj::SetTime (dbINT yr, dbINT day, dbLONG msec) { _yr = yr; _day = day; _msec = msec; } void TimeObj::SetYear (dbINT yr) { _yr = yr; } void TimeObj::SetDay (dbINT day) { _day = day; } void TimeObj::SetMSec (dbLONG msec) { _msec = msec; } const dbINT TimeObj::GetYear () { return _yr; } const dbINT TimeObj::GetDay () { return _day; } const dbLONG TimeObj::GetMSec () { return _msec; } char * TimeObj::GetTimeStr (FormatType fmt) { static char t_str [25]; dbLONG msec; dbINT hr, min, sec; msec = _msec; hr = msec / 3600000; msec -= hr * 3600000; min = msec / 60000; msec -= min * 60000; sec = msec / 1000; msec %= 1000; switch (fmt) { case NICE_FMT : sprintf (t_str, "%4d/%03d %02hd:%02hd:%02hd", (int) _yr, (int) _day, (short) hr, (short) min, (short) sec); break; case FILENAME : sprintf (t_str, "%04d%03d%02hd%02hd", (int) _yr, (int) _day, (short) hr, (short) min); break; case COLON_SEP : sprintf (t_str, "%04d:%03d:%02hd:%02hd:%02hd", (int) _yr, (int) _day, (short) hr, (short) min, (short) sec); break; case WITH_MSEC : sprintf (t_str, "%02hd:%02hd:%02hd.%02ld", (short) hr, (short) min, (short) sec, (long) msec); break; } // switch return t_str; }