string VSDate::toString() const { int y, m, d; string result; char buf1[10] = {0, }; char buf2[10] = {0, }; char buf3[10] = {0, }; jul2greg(jd, y, m, d); sprintf(buf1, "%d", y); sprintf(buf2, "%d", m); sprintf(buf3, "%d", d); string year = string(buf1); string month = string(buf2); string day = string(buf3); if (month.size() == 1) month = "0" + month; if (day.size() == 1) day = "0" + day; result += year + "."; result += month + "."; result += day; return result; }
int VSDate::daysInMonth() const { int y, m, d; jul2greg(jd, y, m, d); if (m == 2 && leapYear(y)) return 29; else return monthDays[m]; }
void convert(std::string& str, const Date& date) { // format YYYY-MM-DD // 0....+....1 int year, month, day; jul2greg(date.julian(), year, month, day); char ret[10]; unsigned short n = year; ret[3] = '0' + n % 10; n /= 10; ret[2] = '0' + n % 10; n /= 10; ret[1] = '0' + n % 10; n /= 10; ret[0] = '0' + n % 10; ret[4] = '-'; ret[5] = '0' + month / 10; ret[6] = '0' + month % 10; ret[7] = '-'; ret[8] = '0' + day / 10; ret[9] = '0' + day % 10; str.assign(ret, 10); }
QString QDate::toString() const { int y, m, d; jul2greg( jd, y, m, d ); QString buf = dayName(dayOfWeek()); buf += ' '; buf += monthName(m); QString t; t.sprintf( " %d %d", d, y); buf += t; return buf; }
int QDate::daysInYear() const { int y, m, d; jul2greg( jd, y, m, d ); return leapYear(y) ? 366 : 365; }
int QDate::day() const { int y, m, d; jul2greg( jd, y, m, d ); return d; }
int QDate::month() const { int y, m, d; jul2greg( jd, y, m, d ); return m; }
int QDate::year() const { int y, m, d; jul2greg( jd, y, m, d ); return y; }