string Gregorian::to_string() const { ostringstream oss; //Wednesday, January 1 1000 CE, 12:00 : 00 am oss << gregorian_week_name(day_of_week(*this)) << ", " << gregorian_month_name(month_) << " " << day_ << " " << ((year_ > 0) ? std::to_string(year_) : std::to_string(abs(year_) + 1)) << ((year_ > 0) ? " CE, " : " BCE, ") << hms_to_string(this->to_jd()); return oss.str(); }
std::string Islamic::to_string() const & { std::ostringstream oss; std::string weekday; year_t year = year_; weekday = ((islamic_day_name( ((day_of_week(to_jd()) + 1) % 7 ) ) ) ); oss << weekday << ", " << islamic_month_name(month_) << ' ' << day_ << ' '; oss << year << ", " << hms_to_string(hour_, minute_, second_); return oss.str(); }
std::string Julian::to_string() const & { std::ostringstream oss; std::string era(" AD, "); std::string weekday; year_t year = year_; if (year < 0) { year = abs(year) + 1; era = " BC, "; weekday = ((julian_day_name((day_of_week(julian_to_jd(year, month_, day_)) % 7)))); } else { weekday = ((julian_day_name((day_of_week(to_jd()))))); } oss << weekday << ", " << julian_month_name(month_) << ' ' << day_ << ' '; oss << year << era << hms_to_string(hour_, minute_, second_); return oss.str(); }