示例#1
0
QDateTime pttoqt(const boost::posix_time::ptime &pt) {
	boost::gregorian::date gd = pt.date();
	boost::posix_time::time_duration gt = pt.time_of_day();
	QDate qdate(gd.year(), gd.month(), gd.day());
	QTime qtime(gt.hours(), gt.minutes(), gt.seconds());

	return QDateTime(qdate, qtime);
}
示例#2
0
QDateTime KDateTimeDlg::getDateTime() {
QDateTime qdt;
QTime qtime(_hours->value(), _mins->value(), _secs->value());

   qdt.setDate(_date->date());
   qdt.setTime(qtime);

return qdt;
}
示例#3
0
int FlowRead::f(ptime time, int dt) {

	boost::gregorian::date gd = time.date();
	boost::posix_time::time_duration gt = time.time_of_day();
	QDate qdate(gd.year(), gd.month(), gd.day());
	QTime qtime(gt.hours(), gt.minutes(), gt.seconds());

	QDateTime current(qdate, qtime);

	ctxt.setOutPort(&out, current, dt);
	return dt;
}
示例#4
0
文件: ut.cpp 项目: nkirov/timetool
QString Ut::conv(QString s)
{
	const int TIME = 28;  

    int year = s.mid(TIME+0,4).toInt();
	int month = s.mid(TIME+4, 2).toInt();
	int day = s.mid(TIME+6, 2).toInt();
	QDate qdate(year, month, day);

	int hour = s.mid(TIME+8, 2).toInt();
	int minute = s.mid(TIME+10, 2).toInt(); 
	int second = s.mid(TIME+12, 2).toInt(); 
	QTime qtime(hour, minute, second);

	QDateTime qdt(qdate, qtime);

qDebug() << "LST " << year << zero(month) << zero(day) 
          << zero(hour) << zero(minute) << zero(second) << endl; 
qDebug() << qdate << qtime << qdt;

//      double Longitude = hours(13, 3, 52.65); // Zeiss-Triplet

	QString hhmmss;
	if (ui.ST2UT->isChecked())
	{
		double UT = ST2UT(qdt);
		hhmmss = h2hhmmss(UT);
		qtime = QTime::fromString(hhmmss, "hhmmss");
		qdt = QDateTime(qdate, qtime);
		if (qtime.hour() < 12) qdt = qdt.addDays(1); 
/* предполагаме, че датата е началото на нощта и не е сменяна през цялата нощ */
/* предполагаме, че датата в началото на нощта е същата, както в часова зона 0 */	
	}
	else 
	{
		qdt = qdt.addSecs(-dsavingtime(qdt)*60*60); // LT -> UT
//		UT = hours(qdt.time().hour(), qdt.time().minute(), qdt.time().second());
	}
	QString sout = s.left(TIME) + qdt.toString("yyyyMMddhhmmss") + s.mid(TIME+14);            
qDebug() << s;
qDebug() << sout;
	return sout;
}
示例#5
0
void TodoList::mousePressEvent(QMouseEvent *event){
    int x = event->globalPos().x() - this->pos().x();
    int y = event->globalPos().y() - this->pos().y();
    pressX = x;
    pressY = y;
    oldMoveY = moveY;
    mousePre = true;

    if(y < 76 && (x >= 68 && x <= 105)){
        viewDate.ToLastMonth();
        ChangeState(WINSTATE::LIST);
    }
    if(y < 76 && (x >= 318 && x <= 355)){
        viewDate.ToNextMonth();
        ChangeState(WINSTATE::LIST);
    }
    //qDebug("%d %d",x,y);
    if(y < 76 && (x >= 255 && x <= 320)){
        viewState = VIEWSTATE((int(viewState) + 1)%3);
        ChangeState(WINSTATE::LIST);
    }
    mouseList[mouseCount ++] = event->button()==Qt::LeftButton;
    mouseTime = 20;

    //以下把y转为绘制画面的相对坐标
    //相对选择项目的坐标
    int sy = y - moveY;
    selectIndex = (sy - 95) / 80;

    if(ValidIndex())
        oldMoveX = indexPosX[selectIndex];

    if(ValidIndex() && indexID[selectIndex] != -1){
        int id = indexID[selectIndex];
        int viewYear = viewDate.year;
        int viewMonth = viewDate.month;
        TodoItem &item = pa.GetItem(id,viewYear,viewMonth);
        int offset = selectIndex * 80;
        if(85 <= x && x <= 120 && 110 + offset <= sy && sy <= 140 + offset){
            pa.MarkAsDone(id,viewYear,viewMonth,!item.HaveDone());
        }
        if(mouseCount >= 2 && mouseList[0] && mouseList[1]){
            //跳转到添加新Todo界面
            ui->nameBox->setText(QString::fromStdString(item.GetName()));
            switch (item.GetLevel()) {
            case 0:
                ui->radioButton_4->setChecked(true);break;
            case 1:
                ui->radioButton_2->setChecked(true);break;
            case 2:
                ui->radioButton_3->setChecked(true);break;
            case 3:
                ui->radioButton_1->setChecked(true);break;
            }
            ui->horizontalSlider->setValue(item.GetWarnTime()/5);
            SetWarnText(ui->horizontalSlider->value());
            Date date = item.GetTime();
            QDate qdate(date.year,date.month,date.day);
            QTime qtime(date.hour,date.minute);
            ui->dateTimeEdit->setDateTime(QDateTime(qdate,qtime));
            ui->placeBox->setText(QString::fromStdString(item.GetPlace()));
            ui->labelBox->setText(QString::fromStdString(item.GetLabel()));
            ui->contentBox->setText(QString::fromStdString(item.GetContent()));
            ui->comboBox->setCurrentIndex(item.GetKind());

            selectID = id;
            ChangeState(WINSTATE::DETAIL);

            mouseCount = 0;
        }
        if(mouseCount >= 2 && !mouseList[0] && !mouseList[1]){
            pa.RemoveTodo(id,viewYear,viewMonth);
            mouseCount = 0;
        }
    }
}
示例#6
0
bool Timehelper::beforenow(QString date, QString time) {
    QDate qdate(date.mid(0,4).toInt(),date.mid(5,2).toInt(),date.mid(8,2).toInt());
    QTime qtime(time.mid(0,2).toInt(),time.mid(3,2).toInt());
    return QDateTime::currentDateTime().secsTo(QDateTime(qdate,qtime)) < 0;
}