-/* $Id$ */
+/* $Id$
+
+This file is part of libmspcore
+Copyright © 2006 Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
#ifndef MSP_TIME_DATETIME_H_
#define MSP_TIME_DATETIME_H_
*/
class DateTime
{
+private:
+ int year;
+ unsigned char month;
+ unsigned char mday;
+ unsigned char hour;
+ unsigned char minute;
+ unsigned char second;
+ unsigned usec;
+ TimeZone zone;
+
public:
DateTime(const TimeStamp &);
DateTime(const TimeStamp &, const TimeZone &);
DateTime(int, unsigned char, unsigned char);
DateTime(int, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char);
DateTime(int, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned);
-
+private:
+ void init(const TimeStamp &);
+ void init(int, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned);
+
+public:
int get_year() const { return year; }
unsigned char get_month() const { return month; }
unsigned char get_mday() const { return mday; }
TimeStamp get_timestamp() const;
std::string format(const std::string &) const;
std::string format_rfc3339() const;
-private:
- int year;
- unsigned char month;
- unsigned char mday;
- unsigned char hour;
- unsigned char minute;
- unsigned char second;
- unsigned usec;
- TimeZone zone;
- void init(const TimeStamp &);
- void init(int, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned);
+private:
void add_raw(RawTime);
void normalize();
void validate() const;