boost::optional<openstudio::DateTime> Job::treeLastRun() const { boost::optional<QDateTime> qdt(m_impl->treeLastRun()); if (qdt) { return boost::optional<openstudio::DateTime>(openstudio::toDateTime(*qdt)); } else { return boost::optional<openstudio::DateTime>(); } }
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; }