2025-07-23 01:35:14 +08:00

75 lines
1.9 KiB
C++

/*
* TimeStamp.hh
*
* Copyright 2001, LifeLine Networks BV (www.lifeline.nl). All rights reserved.
* Copyright 2001, Bastiaan Bakker. All rights reserved.
*
* See the COPYING file for the terms of usage and distribution.
*/
#ifndef _LOG4CPP_TIMESTAMP_HH
#define _LOG4CPP_TIMESTAMP_HH
#include <log4cpp/Portability.hh>
namespace log4cpp {
/**
* A simple TimeStamp abstraction
**/
class LOG4CPP_EXPORT TimeStamp {
public:
/**
Constructs a TimeStamp representing 'now'.
**/
TimeStamp();
/**
Constructs a TimeStamp representing the given offset since the
epoch ( 00:00:00 1970/1/1 UTC).
**/
TimeStamp(unsigned int seconds, unsigned int microSeconds = 0);
/**
Returns the 'seconds' part of the TimeStamp.
**/
inline int getSeconds() const {
return _seconds;
};
/**
Returns the 'subseconds' part of the TimeStamp in milliseconds,
getMilliSeconds() == getMicroSeconds() / 1000.
**/
inline int getMilliSeconds() const {
return _microSeconds / 1000;
};
/**
Returns the subsecond part of the TimeStamp in microseconds.
The actual precision of this value depends on the platform and
may be in the order of milliseconds rather than microseconds.
**/
inline int getMicroSeconds() const {
return _microSeconds;
};
/**
Returns a TimeStamp representing the time at which the application
started.
**/
static inline const TimeStamp& getStartTime() {
return _startStamp;
};
protected:
static TimeStamp _startStamp;
int _seconds;
int _microSeconds;
};
}
#endif // _LOG4CPP_TIMESTAMP_HH