setDateTimeFormat добавляет час

Я хотел бы отображать мою ось x в формате чч: мм: сс. В принципе работает, но есть одна проблема. Отображаемое время начинается не с 00:00:00, а с 01:00:00. Я подумал, может быть, это потому, что время в режиме AP, но я не указал это, вот как я это делаю:

customPlot->xAxis->setTickLabelType(QCPAxis::ltDateTime);
customPlot->xAxis->setDateTimeFormat("hh:mm:ss");

А сюжет в точке 0 начинается с часа 1:

введите здесь описание изображения

Буду признателен за любую помощь в этом. Как сделать начальную точку 0 отображаемой как 00:00:00?


person Łukasz Przeniosło    schedule 27.06.2015    source источник


Ответы (1)


Используйте HH (или H, чтобы избежать начального нуля). h в нижнем регистре соответствует формату часов AM/PM, который начинает отсчет с 1.

Шрифт: http://doc.qt.io/qt-5/qdatetime.html#toString

Если проблема не устранена, она должна быть связана с часовым поясом. Добавлять

customPlot->xAxis->setDateTimeSpec(Qt::UTC)

до SetTimeFormat

person gengisdave    schedule 27.06.2015
comment
Так что это должны быть настройки часового пояса (если вы GMT +1). Отредактировал ответ. - person gengisdave; 28.06.2015
comment
Есть ли способ сделать этот часовой пояс независимым? - person Łukasz Przeniosło; 28.06.2015