---
name: "QwtDateScaleDraw"
section: "3"
platform: "linux"
package: "libqwt-doc"
version: "6.1.4-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/QwtDateScaleDraw"
---

# QwtDateScaleDraw(3)

A class for drawing datetime scales.

## NAME

QwtDateScaleDraw - A class for drawing datetime scales.

## SYNOPSIS

`#include <qwt_date_scale_draw.h>`

Inherits **QwtScaleDraw**.

### Public Member Functions

**QwtDateScaleDraw** (Qt::TimeSpec=Qt::LocalTime)\
 Constructor.  virtual **~QwtDateScaleDraw** ()\
 Destructor.  void **setDateFormat** (**QwtDate::IntervalType**, const QString &)\
 QString **dateFormat** (**QwtDate::IntervalType**) const\
 void **setTimeSpec** (Qt::TimeSpec)\
 Qt::TimeSpec **timeSpec** () const\
 void **setUtcOffset** (int seconds)\
 int **utcOffset** () const\
 void **setWeek0Type** (**QwtDate::Week0Type**)\
 **QwtDate::Week0Type** **week0Type** () const\
 virtual **QwtText** **label** (double) const\
 Convert a value into its representing label.  QDateTime **toDateTime** (double) const\

### Protected Member Functions

virtual **QwtDate::IntervalType** **intervalType** (const **QwtScaleDiv** &) const\
 virtual QString **dateFormatOfDate** (const QDateTime &, **QwtDate::IntervalType**) const\

### Additional Inherited Members

## Detailed Description

A class for drawing datetime scales.

**QwtDateScaleDraw** displays values as datetime labels. The format of the labels depends on the alignment of the major tick labels.

The default format strings are:

- •

  Millisecond\
  \
    'hh:mm:ss:zzz\\nddd dd MMM yyyy'

- •

  Second\
  \
    'hh:mm:ss\\nddd dd MMM yyyy'

- •

  Minute\
  \
    'hh:mm\\nddd dd MMM yyyy'

- •

  Hour\
  \
    'hh:mm\\nddd dd MMM yyyy'

- •

  Day\
  \
    'ddd dd MMM yyyy'

- •

  Week\
  \
    'Www yyyy'

- •

  Month\
  \
    'MMM yyyy'

- •

  Year\
  \
    'yyyy'

The format strings can be modified using **setDateFormat()** or individually for each tick label by overloading **dateFormatOfDate()**,

Usually **QwtDateScaleDraw** is used in combination with **QwtDateScaleEngine**, that calculates scales for datetime intervals.

**See also:**

**QwtDateScaleEngine**, **QwtPlot::setAxisScaleDraw()**

## Constructor & Destructor Documentation

### QwtDateScaleDraw::QwtDateScaleDraw (Qt::TimeSpec timeSpec = `Qt::LocalTime`)

Constructor. The default setting is to display tick labels for the given time specification. The first week of a year is defined like for **QwtDate::FirstThursday**.

**Parameters:**

*timeSpec* Time specification

**See also:**

**setTimeSpec()**, **setWeek0Type()**

## Member Function Documentation

### QString QwtDateScaleDraw::dateFormat (QwtDate::IntervalType intervalType) const

**Parameters:**

*intervalType* Interval type

**Returns:**

Default format string for an datetime interval type

**See also:**

**setDateFormat()**, **dateFormatOfDate()**

### QString QwtDateScaleDraw::dateFormatOfDate (const QDateTime & dateTime, QwtDate::IntervalType intervalType) const` [protected]`, ` [virtual]`

Format string for the representation of a datetime

**dateFormatOfDate()** is intended to be overloaded for situations, where formats are individual for specific datetime values.

The default setting ignores dateTime and return the default format for the interval type.

**Parameters:**

*dateTime* Datetime value \
 *intervalType* Interval type

**Returns:**

Format string

**See also:**

**setDateFormat()**, **QwtDate::toString()**

### QwtDate::IntervalType QwtDateScaleDraw::intervalType (const QwtScaleDiv & scaleDiv) const` [protected]`, ` [virtual]`

Find the less detailed datetime unit, where no rounding errors happen.

**Parameters:**

*scaleDiv* Scale division

**Returns:**

Interval type

**See also:**

**dateFormatOfDate()**

### QwtText QwtDateScaleDraw::label (double value) const` [virtual]`

Convert a value into its representing label. The value is converted to a datetime value using **toDateTime()** and converted to a plain text using **QwtDate::toString()**.

**Parameters:**

*value* Value

**Returns:**

Label string.

**See also:**

**dateFormatOfDate()**

Reimplemented from **QwtAbstractScaleDraw**.

### void QwtDateScaleDraw::setDateFormat (QwtDate::IntervalType intervalType, const QString & format)

Set the default format string for an datetime interval type

**Parameters:**

*intervalType* Interval type \
 *format* Default format string

**See also:**

**dateFormat()**, **dateFormatOfDate()**, **QwtDate::toString()**

### void QwtDateScaleDraw::setTimeSpec (Qt::TimeSpec timeSpec)

Set the time specification used for the tick labels

**Parameters:**

*timeSpec* Time specification

**See also:**

**timeSpec()**, **setUtcOffset()**, **toDateTime()**

### void QwtDateScaleDraw::setUtcOffset (int seconds)

Set the offset in seconds from Coordinated Universal Time

**Parameters:**

*seconds* Offset in seconds

**Note:**

The offset has no effect beside for the time specification Qt::OffsetFromUTC.

**See also:**

QDate::utcOffset(), **setTimeSpec()**, **toDateTime()**

### void QwtDateScaleDraw::setWeek0Type (QwtDate::Week0Type week0Type)

Sets how to identify the first week of a year.

**Parameters:**

*week0Type* Mode how to identify the first week of a year

**See also:**

**week0Type()**.

**Note:**

week0Type has no effect beside for intervals classified as **QwtDate::Week**.

### Qt::TimeSpec QwtDateScaleDraw::timeSpec () const

**Returns:**

Time specification used for the tick labels

**See also:**

**setTimeSpec()**, **utcOffset()**, **toDateTime()**

### QDateTime QwtDateScaleDraw::toDateTime (double value) const

Translate a double value into a QDateTime object.

**Returns:**

QDateTime object initialized with **timeSpec()** and **utcOffset()**.

**See also:**

**timeSpec()**, **utcOffset()**, **QwtDate::toDateTime()**

### int QwtDateScaleDraw::utcOffset () const

**Returns:**

Offset in seconds from Coordinated Universal Time

**Note:**

The offset has no effect beside for the time specification Qt::OffsetFromUTC.

**See also:**

QDate::setUtcOffset(), **setTimeSpec()**, **toDateTime()**

### QwtDate::Week0Type QwtDateScaleDraw::week0Type () const

**Returns:**

Setting how to identify the first week of a year.

**See also:**

**setWeek0Type()**

## Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.
