// Copyright (c) 2000 David Muse
// See the COPYING file for more information.
#ifndef DATETIME_H
#define DATETIME_H
#include <time.h>
// The datetime class provides methods for converting date/time formats and
// accessing various date/time values.
class datetime {
public:
datetime();
// current time
datetime(char *datestring);
// datestring must be "mm/dd/yyyy hh:mm:ss"
datetime(time_t *epoch);
// *epoch is the number of seconds since 1970,
// output by many standard time functions
datetime(tm *timestruct);
// *timestruct is a (struct tm *), output by
// many standard time functions
~datetime();
// These methods return commonly needed time/date values
int getHour();
int getMinutes();
int getSeconds();
int getMonth();
int getDayOfMonth();
int getDayOfWeek();
int getDayOfYear();
int getYear();
int isDaylightSavingsTime();
// returns 1 if daylight savings time is currently
// in effect and 0 if it isn't
char *getTimeZone();
// returns a 3 character string representing the
// time zone
long getTimeZoneOffset();
// returns (in seconds) the offset from GMT
// These methods output conversions to other date/time
// formats.
char *getString();
// returns "mm/dd/yyyy hh:mm:ss"
time_t getEpoch();
// returns the number of seconds since 1970
tm *getTm();
// returns a pointer to the internal "struct tm"
private:
#include <rudiments/private/datetime.h>
};
#endif