Exemple #1
0
KStarsDateTime::KStarsDateTime( const QDateTime &qdt ) :
    QDateTime( qdt )//, QDateTime::Spec::UTC() )
{
    // FIXME: This method might be buggy. Need to write some tests -- asimha (Oct 2016)
    QTime _t = qdt.time();
    QDate _d = qdt.date();
    long double jdFrac = ( _t.hour()-12 + ( _t.minute() + ( _t.second() + _t.msec()/1000.)/60.)/60.)/24.;
    DJD = (long double)( _d.toJulianDay() ) + jdFrac;
    setUtcOffset(qdt.utcOffset());
}
void KDDateTime::setTimeZone(const QString &timeZone)
{
    d->mTimeZone = timeZone;

    // Just in case someone cares: set the time spec in QDateTime accordingly.
    // We can't do this the other way round, there's no public API for the offset-from-utc case.
    if (timeZone == QLatin1String("Z"))
        setTimeSpec(Qt::UTC);
    else if (timeZone.isEmpty())
        setTimeSpec(Qt::LocalTime);
    else {
        setTimeSpec(Qt::OffsetFromUTC);
        const int pos = timeZone.indexOf(QLatin1Char(':'));
        if ( pos > 0 ) {
            const int hours = timeZone.left(pos).toInt();
            const int minutes = timeZone.mid(pos+1).toInt();
            const int offset = hours * 3600 + minutes * 60;
            setUtcOffset(offset);
        }
    }
}
Exemple #3
0
KStarsDateTime::KStarsDateTime( const KStarsDateTime &kdt ) : QDateTime()
{
    setDJD( kdt.djd() );
    setUtcOffset(kdt.utcOffset());
}