#ifndef MSP_TIME_DATETIME_H_
#define MSP_TIME_DATETIME_H_
-#include <stdint.h>
#include <string>
+#include "types.h"
namespace Msp {
namespace Time {
{
public:
DateTime(const TimeStamp &);
- DateTime(int32_t, uint8_t, uint8_t);
- DateTime(int32_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t);
- DateTime(int32_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint32_t);
+ 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);
- int32_t get_year() const { return year; }
- uint8_t get_month() const { return month; }
- uint8_t get_mday() const { return mday; }
- uint8_t get_hour() const { return hour; }
- uint8_t get_minute() const { return minute; }
- uint8_t get_second() const { return second; }
- uint32_t get_usec() const { return usec; }
+ int get_year() const { return year; }
+ unsigned char get_month() const { return month; }
+ unsigned char get_mday() const { return mday; }
+ unsigned char get_hour() const { return hour; }
+ unsigned char get_minute() const { return minute; }
+ unsigned char get_second() const { return second; }
+ unsigned get_usec() const { return usec; }
- void add_days(int32_t);
+ void add_days(int);
DateTime operator+(const TimeDelta &) const;
DateTime &operator+=(const TimeDelta &);
TimeStamp get_timestamp() const;
std::string format(const std::string &) const;
private:
- int32_t year;
- uint8_t month;
- uint8_t mday;
- uint8_t hour;
- uint8_t minute;
- uint8_t second;
- uint32_t usec;
+ int year;
+ unsigned char month;
+ unsigned char mday;
+ unsigned char hour;
+ unsigned char minute;
+ unsigned char second;
+ unsigned usec;
- void add_raw(int64_t);
+ void add_raw(RawTime);
void normalize();
void validate() const;
};