28 #include "qgis_core.h" 
   48     static const int YEARS = 31557600;
 
   50     static const int MONTHS = 60 * 60 * 24 * 30;
 
   52     static const int WEEKS = 60 * 60 * 24 * 7;
 
   54     static const int DAY = 60 * 60 * 24;
 
   56     static const int HOUR = 60 * 60;
 
   58     static const int MINUTE = 60;
 
   85     QgsInterval( 
double years, 
double months, 
double weeks, 
double days, 
double hours, 
double minutes, 
double seconds );
 
  109     void setYears( 
double years );
 
  121     double months() 
const;
 
  134     void setMonths( 
double months );
 
  145     double weeks() 
const;
 
  158     void setWeeks( 
double weeks );
 
  182     void setDays( 
double days );
 
  193     double hours() 
const;
 
  206     void setHours( 
double hours );
 
  217     double minutes() 
const;
 
  230     void setMinutes( 
double minutes );
 
  249     void setSeconds( 
double seconds );
 
  299       if ( !mValid && !other.mValid )
 
  302         return mOriginalUnit == other.mOriginalUnit && mOriginalDuration == other.mOriginalDuration;
 
  303       else if ( mValid && other.mValid )
 
  311       return !( *
this == other );
 
  319     static QgsInterval fromString( 
const QString &
string );
 
  322     operator QVariant()
 const 
  324       return QVariant::fromValue( *
this );
 
  330     double mSeconds = 0.0;
 
  336     double mOriginalDuration = 0.0;
 
A representation of the interval between two datetime values.
double originalDuration() const
Returns the original interval duration.
bool isValid() const
Returns true if the interval is valid.
void setValid(bool valid)
Sets whether the interval is valid.
QgsInterval()=default
Default constructor for QgsInterval.
bool operator==(QgsInterval other) const
double seconds() const
Returns the interval duration in seconds.
bool operator!=(QgsInterval other) const
QgsUnitTypes::TemporalUnit originalUnit() const
Returns the original interval temporal unit.
TemporalUnit
Temporal units.
@ TemporalUnknownUnit
Unknown time unit.
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
QDebug operator<<(QDebug dbg, const QgsInterval &interval)
Debug string representation of interval.
QDateTime CORE_EXPORT operator+(const QDateTime &start, const QgsInterval &interval)
Adds an interval to a datetime.
QgsInterval CORE_EXPORT operator-(const QDateTime &datetime1, const QDateTime &datetime2)
Returns the interval between two datetimes.
Q_DECLARE_METATYPE(QgsMeshTimeSettings)