Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

C:/temp/src/j2k/etc/Divers/Time.cpp

Go to the documentation of this file.
00001 #ifndef __J2K__Time_CPP__
00002 #define __J2K__Time_CPP__
00003 
00004 #include <j2k/etc/Divers/Time.hpp>
00005 
00006 inline Time::Time()
00007   : lflag( 0 ), aflag( 0 )
00008 {
00009  time( &T );
00010 }
00011 
00012 inline void Time::mark()
00013 {
00014   lflag = 0;
00015   aflag = 0;
00016   time(&T);
00017 }
00018 
00019 inline const char* Time::ascii()
00020 {
00021   updateAscii();
00022   return Ascii;
00023 }
00024 
00025 // Difference in seconds:
00026 inline int Time::delta( Time* dt ) const
00027 {
00028   return difftime(T, dt->T);
00029 }
00030 
00031 inline int Time::DaylightSavings()
00032 {
00033   updateLocal();
00034   return local.tm_isdst;
00035 }
00036 
00037 // Since January 1st
00038 inline int Time::DayOfYear()
00039 {
00040   updateLocal();
00041   return local.tm_yday;
00042 }
00043 
00044 // Since Sunday
00045 inline int Time::DayOfWeek()
00046 {
00047   updateLocal();
00048   return local.tm_wday;
00049 }
00050 
00051 // Years since 1900
00052 inline int Time::Since1900()
00053 {
00054   updateLocal();
00055   return local.tm_year;
00056 }
00057 
00058 // Since January
00059 inline int Time::Month()
00060 {
00061   updateLocal();
00062   return local.tm_mon;
00063 }
00064 
00065 inline int Time::DayOfMonth()
00066 {
00067   updateLocal();
00068   return local.tm_mday;
00069 }
00070 
00071 // Since midnight, in 24h format
00072 inline int Time::Hour()
00073 {
00074   updateLocal();
00075   return local.tm_hour;
00076 }
00077 
00078 inline int Time::Minute()
00079 {
00080   updateLocal();
00081   return local.tm_min;
00082 }
00083 
00084 inline int Time::Second()
00085 {
00086   updateLocal();
00087   return local.tm_sec;
00088 }
00089 
00090 inline void Time::updateLocal()
00091 {
00092   if ( !lflag ) {
00093     local = *localtime(&T);
00094     lflag++;
00095   }
00096 }
00097 
00098 inline void Time::updateAscii()
00099 {
00100   if ( !aflag ) {
00101     updateLocal();
00102     strcpy( Ascii, asctime(&local) );
00103     aflag++;
00104   }
00105 }
00106 
00107 #endif

Generated on Sun Oct 14 18:46:31 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001