на данный момент делаю через жопу...
вот так:
QDate date;
QString vrmDateTo = date.currentDate().toString("yyyy-MM-dd");
QString vrmYearTo = date.currentDate().toString("yyyy");
QString vrmMounthTo = date.currentDate().toString("MM");
QString vrmDayTo = date.currentDate().toString("dd");
QString vrmDateFrom;
QString vrmYearFrom;
QString vrmMounthFrom;
QString vrmDayFrom;
int deyTo = vrmDayTo.toInt();
int mounthTo = vrmMounthTo.toInt();
int mounthFrom = vrmMounthTo.toInt();
int yearFrom = vrmYearTo.toInt();
int deyFrom = 0;
if (deyTo>=3){
deyFrom = deyTo - 2;
QString DeyFrom = QString("%1").arg(deyFrom);
int lenDeyFrom = DeyFrom.length();
if(lenDeyFrom==1){
vrmDayFrom = "0" + DeyFrom;
}
vrmYearFrom = vrmYearTo;
vrmMounthFrom = vrmMounthTo;
}else{
if(mounthTo>1){
mounthFrom --;
vrmMounthFrom = QString("%1").arg(vrmMounthFrom);
}else{
mounthFrom = 12;
yearFrom --;
vrmMounthFrom = QString("%1").arg(vrmMounthFrom);
vrmYearFrom = QString("%1").arg(yearFrom);
}
QDate dateFrom(yearFrom,mounthFrom,1);
int deyOfMounth = dateFrom.daysInMonth();
if(deyTo == 2){
vrmDayFrom = QString("%1").arg(deyOfMounth);
}else{
deyOfMounth --;
vrmDayFrom = QString("%1").arg(deyOfMounth);
}
if(mounthFrom < 10){
vrmMounthFrom = "0" + vrmMounthFrom;
}
}
vrmDateFrom = vrmYearFrom + "-" + vrmMounthFrom + "-" + vrmDayFrom;
if(Debuger) qDebug() << vrmDateFrom;
if(Debuger) qDebug() << vrmDateTo;
работате супер... мне тут в SQLLite таблицу надо обращатся и вытаскивать данные за последние три дня...
если сегодня число 2010-03-02 то за три дня он должно получаться 2010-02-28 поэтому и алгоритм слегка мудренный..