Website Summary Files Commits Branches @commit @diff @stats
path: root / src / DateTime / DateTime.h
blob: 854cc2e1f97bdba88c8d21f0b734953b3c0c25e8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef HEADER_DATETIME
#define HEADER_DATETIME

#include <istream>
#include <ostream>

class DateTime {
	unsigned short hour;
	unsigned short minute;
	unsigned short day;
	unsigned short month;
	unsigned short year;

	bool isLeapYear();
	unsigned short daysInMonth();

public:
	DateTime(unsigned short hour, unsigned short minute, unsigned short day, unsigned short month, unsigned short year);
	int compare(const DateTime& other) const;

	unsigned short get_hour() const;
	bool set_hour(unsigned short newHour);

	unsigned short get_minute() const;
	bool set_minute(unsigned short newMinute);

	unsigned short get_day() const;
	bool set_day(unsigned short newDay);

	unsigned short get_month() const;
	bool set_month(unsigned short newMonth);

	unsigned short get_year() const;
	bool set_year(unsigned short newYear);
};

std::istream& operator>>(std::istream& istr, DateTime& dt);
std::ostream& operator<<(std::ostream& ostr, const DateTime& dt);

#endif