#include "Talos.hxx"
using namespace Talos;

int main()
{
  Date date(20010330);
  cout << date.GetDate() << endl;

  // Automatic correction of erroneous date.
  // Here: moves to November.
  date.SetDate(2000, 10, 35);
  cout << date.GetDate() << endl;
  cout << "Formatted date: " << date.GetDate("%y-%m-%d") << endl;
  cout << "Time: " << date.GetDate("%h:%i %ss") << endl;

  // "Moving" in time.
  date.AddSeconds(-1);
  cout << "Full (new) date: " << date.GetDate("%y-%m-%d at %h:%i %ss") << endl;

  // Basic computations.
  cout << "Seconds from the 1st January: " << date.GetNumberOfSeconds() << endl;
  cout << "Days from the 1st January: " << date.GetNumberOfDays() << endl;
  cout << "Week day (0: Monday): " << date.GetWeekDay() << endl;
  cout << "Is " << date.GetYear() << " is a leap year? ";
  if (date.LeapYear())
    cout << "Yes." << endl;
  else
    cout << "No." << endl;

  // Between two dates.
  Date next_date(date);
  next_date.AddMonths(5);
  cout << "Next date: " << next_date.GetDate("%y-%m-%d at %h:%i %ss") << endl;
  cout << "Number of days from " << date.GetDate("%y-%m-%d") << ": "
       << next_date.GetDaysFrom(date) << endl;

  return 0;
}

