本文整理汇总了C++中KStarsDateTime::isValid方法的典型用法代码示例。如果您正苦于以下问题:C++ KStarsDateTime::isValid方法的具体用法?C++ KStarsDateTime::isValid怎么用?C++ KStarsDateTime::isValid使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KStarsDateTime
的用法示例。
在下文中一共展示了KStarsDateTime::isValid方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fromString
KStarsDateTime KStarsDateTime::fromString( const QString &s ) {
//DEBUG
qDebug() << "Date string: " << s;
KStarsDateTime dtResult = QDateTime::fromString( s, Qt::TextDate );
if ( dtResult.isValid() )
return dtResult;
dtResult = QDateTime::fromString( s, Qt::ISODate );
if ( dtResult.isValid() )
return dtResult;
//dtResult = QDateTime::fromString( s, QDateTime::RFCDate );
dtResult = QDateTime::fromString( s, Qt::RFC2822Date );
if ( dtResult.isValid() )
return dtResult;
qWarning() << i18n( "Could not parse Date/Time string: " ) << s ;
qWarning() << i18n( "Valid date formats: " ) ;
qWarning() << " 1950-02-25 ; 1950-02-25T05:30:00" ;
qWarning() << " 25 Feb 1950 ; 25 Feb 1950 05:30:00" ;
qWarning() << " Sat Feb 25 1950 ; Sat Feb 25 05:30:00 1950";
return KStarsDateTime( QDateTime() ); //invalid
}
示例2: main
//.........这里部分代码省略.........
qWarning() << "Unable to parse arguments: " ;
qWarning() << "Width: " << parser.value( "width" )
<< " Height: " << parser.value( "height" ) << endl;
return 1;
}
KStarsData *dat = KStarsData::Create();
QObject::connect( dat, SIGNAL( progressText(QString) ), dat, SLOT( slotConsoleMessage(QString) ) );
dat->initialize();
//Set Geographic Location
dat->setLocationFromOptions();
//Set color scheme
dat->colorScheme()->loadFromConfig();
//set clock now that we have a location:
//Check to see if user provided a date/time string. If not, use current CPU time
QString datestring = parser.value( "date" );
KStarsDateTime kdt;
if ( ! datestring.isEmpty() ) {
if ( datestring.contains( "-" ) ) { //assume ISODate format
if ( datestring.contains( ":" ) ) { //also includes time
//kdt = QDateTime::fromString( datestring, QDateTime::ISODate );
kdt = QDateTime::fromString( datestring, Qt::ISODate );
} else { //string probably contains date only
//kdt.setDate( QDate::fromString( datestring, Qt::ISODate ) );
kdt.setDate( QDate::fromString( datestring, Qt::ISODate ) );
kdt.setTime( QTime( 0, 0, 0 ) );
}
} else { //assume Text format for date string
kdt = dat->geo()->LTtoUT( QDateTime::fromString( datestring, Qt::TextDate ) );
}
if ( ! kdt.isValid() ) {
qWarning() << i18n( "Using CPU date/time instead." ) ;
kdt = KStarsDateTime::currentDateTimeUtc();
}
} else {
kdt = KStarsDateTime::currentDateTimeUtc();
}
dat->clock()->setUTC( kdt );
SkyMap *map = SkyMap::Create();
map->resize( w, h );
QPixmap sky( w, h );
dat->setFullTimeUpdate();
dat->updateTime(dat->geo(), map );
SkyPoint dest( Options::focusRA(), Options::focusDec() );
map->setDestination( dest );
map->destination()->EquatorialToHorizontal( dat->lst(), dat->geo()->lat() );
map->setFocus( map->destination() );
map->focus()->EquatorialToHorizontal( dat->lst(), dat->geo()->lat() );
//Execute the specified script
QString scriptfile = parser.value( "script" );
if ( ! scriptfile.isEmpty() ) {
if ( dat->executeScript( scriptfile, map ) ) {
std::cout << i18n( "Script executed." ).toUtf8().data() << std::endl;
} else {
qWarning() << i18n( "Could not execute script." ) ;
}
}
示例3: main
int main(int argc, char *argv[])
{
KAboutData aboutData( "kstars", 0, ki18n("KStars"),
KSTARS_VERSION, ki18n(description), KAboutData::License_GPL,
ki18n("(c) 2001-2012, The KStars Team"), ki18n(notice), "http://edu.kde.org/kstars");
aboutData.addAuthor(ki18n("Jason Harris"),KLocalizedString(), "[email protected]", "http://www.30doradus.org");
aboutData.addAuthor(ki18n("Jasem Mutlaq"), KLocalizedString(), "[email protected]");
aboutData.addAuthor(ki18n("James Bowlin"), KLocalizedString(), "[email protected]");
aboutData.addAuthor(ki18n("Pablo de Vicente"), KLocalizedString(), "[email protected]");
aboutData.addAuthor(ki18n("Thomas Kabelmann"), KLocalizedString(), "[email protected]");
aboutData.addAuthor(ki18n("Heiko Evermann"),KLocalizedString(), "[email protected]", "http://www.evermann.de");
aboutData.addAuthor(ki18n("Carsten Niehaus"), KLocalizedString(), "[email protected]");
aboutData.addAuthor(ki18n("Mark Hollomon"), KLocalizedString(), "[email protected]");
aboutData.addAuthor(ki18n("Alexey Khudyakov"), KLocalizedString(), "[email protected]");
aboutData.addAuthor(ki18n("Médéric Boquien"), KLocalizedString(), "[email protected]");
aboutData.addAuthor(ki18n("Akarsh Simha"), KLocalizedString(), "[email protected]", "http://www.ph.utexas.edu/~asimha");
aboutData.addAuthor(ki18n("Jérôme Sonrier"), KLocalizedString(), "[email protected]");
aboutData.addAuthor(ki18n("Prakash Mohan"), KLocalizedString(), "[email protected]");
aboutData.addAuthor(ki18n("Victor Cărbune"), KLocalizedString(), "[email protected]");
aboutData.addAuthor(ki18n("Henry de Valence"), KLocalizedString(), "[email protected]");
aboutData.addAuthor(ki18n("Samikshan Bairagya"), KLocalizedString(), "[email protected]");
aboutData.addAuthor(ki18n("Rafał Kułaga"), KLocalizedString(), "[email protected]");
aboutData.addAuthor(ki18n("Rishab Arora"), KLocalizedString(), "[email protected]");
aboutData.addCredit(ki18n("Valery Kharitonov"), ki18n("Converted labels containing technical terms to links to documentation") );
aboutData.addCredit(ki18n("Ana-Maria Constantin"), ki18n("Technical documentation on Astronomy and KStars") );
aboutData.addCredit(ki18n("Andrew Stepanenko"), ki18n("Guiding code based on lin_guider") );
aboutData.addCredit(ki18n("Nuno Pinheiro"), ki18n("Artwork") );
KCmdLineArgs::init( argc, argv, &aboutData );
KCmdLineOptions options;
options.add("!dump", ki18n( "Dump sky image to file" ));
options.add("script ", ki18n( "Script to execute" ));
options.add("width ", ki18n( "Width of sky image" ), "640");
options.add("height ", ki18n( "Height of sky image" ), "480");
options.add("filename ", ki18n( "Filename for sky image" ), "kstars.png");
options.add("date ", ki18n( "Date and time" ));
options.add("!paused", ki18n( "Start with clock paused" ));
KCmdLineArgs::addCmdLineOptions( options ); // Add our own options.
KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
KApplication a;
if ( args->isSet( "dump" ) ) {
kDebug() << i18n( "Dumping sky image" );
//parse filename and image format
const char* format = "PNG";
QString fname = args->getOption( "filename" );
QString ext = fname.mid( fname.lastIndexOf(".")+1 );
if ( ext.toLower() == "png" ) { format = "PNG"; }
else if ( ext.toLower() == "jpg" || ext.toLower() == "jpeg" ) { format = "JPG"; }
else if ( ext.toLower() == "gif" ) { format = "GIF"; }
else if ( ext.toLower() == "pnm" ) { format = "PNM"; }
else if ( ext.toLower() == "bmp" ) { format = "BMP"; }
else { kWarning() << i18n( "Could not parse image format of %1; assuming PNG.", fname ) ; }
//parse width and height
bool ok(false);
int w(0), h(0);
w = args->getOption( "width" ).toInt( &ok );
if ( ok ) h = args->getOption( "height" ).toInt( &ok );
if ( !ok ) {
kWarning() << "Unable to parse arguments: " ;
kWarning() << "Width: " << args->getOption( "width" )
<< " Height: " << args->getOption( "height" ) << endl;
return 1;
}
KStarsData *dat = KStarsData::Create();
QObject::connect( dat, SIGNAL( progressText(QString) ), dat, SLOT( slotConsoleMessage(QString) ) );
dat->initialize();
//Set Geographic Location
dat->setLocationFromOptions();
//Set color scheme
dat->colorScheme()->loadFromConfig();
//set clock now that we have a location:
//Check to see if user provided a date/time string. If not, use current CPU time
QString datestring = args->getOption( "date" );
KStarsDateTime kdt;
if ( ! datestring.isEmpty() ) {
if ( datestring.contains( "-" ) ) { //assume ISODate format
if ( datestring.contains( ":" ) ) { //also includes time
kdt = KDateTime::fromString( datestring, KDateTime::ISODate );
} else { //string probably contains date only
kdt.setDate( QDate::fromString( datestring, Qt::ISODate ) );
kdt.setTime( QTime( 0, 0, 0 ) );
}
} else { //assume Text format for date string
kdt = dat->geo()->LTtoUT( KDateTime::fromString( datestring, KDateTime::QtTextDate ) );
}
if ( ! kdt.isValid() ) {
kWarning() << i18n( "Using CPU date/time instead." ) ;
kdt = KStarsDateTime::currentUtcDateTime();
//.........这里部分代码省略.........
示例4: processLines
void modCalcJD::processLines( QTextStream &istream, int inputData ) {
QFile fOut( OutputFileBatch->url().toLocalFile() );
fOut.open(QIODevice::WriteOnly);
QTextStream ostream(&fOut);
QString line;
long double jd(0);
double mjd(0);
KStarsDateTime dt;
while ( ! istream.atEnd() ) {
line = istream.readLine();
line = line.trimmed();
QStringList data = line.split( ' ', QString::SkipEmptyParts );
if ( inputData == 0 ) { //Parse date & time
//Is the first field parseable as a date or date&time?
if ( data[0].length() > 10 )
dt = KStarsDateTime::fromString( data[0] );
else
dt = KStarsDateTime( QDate::fromString( data[0] ), QTime(0,0,0) );
//DEBUG
kDebug() << data[0];
if ( dt.isValid() ) kDebug() << dt.toString();
if ( dt.isValid() ) {
//Try to parse the second field as a time
if ( data.size() > 1 ) {
QString s = data[1];
if ( s.length() == 4 ) s = '0'+s;
QTime t = QTime::fromString( s );
if ( t.isValid() ) dt.setTime( t );
}
} else { //Did not parse the first field as a date; try it as a time
QTime t = QTime::fromString( data[0] );
if ( t.isValid() ) {
dt.setTime( t );
//Now try the second field as a date
if ( data.size() > 1 ) {
QDate d = QDate::fromString( data[1] );
if ( d.isValid() ) dt.setDate( d );
else dt.setDate( QDate::currentDate() );
}
}
}
if ( dt.isValid() ) {
//Compute JD and MJD
jd = dt.djd();
mjd = jd - MJD0;
}
} else if ( inputData == 1 ) {//Parse Julian day
bool ok(false);
jd = data[0].toDouble(&ok);
if ( ok ) {
dt.setDJD( jd );
mjd = jd - MJD0;
}
} else if ( inputData == 2 ) {//Parse Modified Julian day
bool ok(false);
mjd = data[0].toDouble(&ok);
if ( ok ) {
jd = mjd + MJD0;
dt.setDJD( jd );
}
}
//Write to output file
ostream << KGlobal::locale()->formatDateTime( dt, KLocale::LongDate ) << " "
<< QString::number( jd, 'f', 2 ) << " "
<< QString::number( mjd, 'f', 2 ) << endl;
}
fOut.close();
}