示例#1
0
 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>();
   }
 }
示例#2
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;
}