LINUX.ORG.RU

Класс для хранения дней, часов, минут, секунд

 , , ,


0

1

Есть ли такой вообще или придется велосипедить самому? Мне не нужен QDateTime/QDate, так как он для дат.

QTime бы подошел, если бы мог хранить больше 24 часов.

Вообще, мне это нужно для разницы между сегодняшней датой и грядущей(например, при грядуещей 22 декабря 2013 года 22:00:00 я должен иметь что-то наподобие 5 дней, X часов, Y минут, Z секунд и т.д.) Но при этом, когда декрементируюся секунды(притом меньше нуля), чтобы декрементировались минуты, если они меньше нуля, то декрементировались и часы, и т.д.

★★★★★

Последнее исправление: a1batross (всего исправлений: 2)

Но при этом, когда декрементируюся секунды(притом меньше нуля), чтобы декрементировались минуты, если они меньше нуля, то декрементировались и часы, и т.д.

Ути-пути. И это ты хочешь в стандартной сишной библиотеке наверное?

nanoolinux ★★★★
()
Ответ на: комментарий от nanoolinux

В Qt же, сказано. Впрочем-то, добавить лишнюю строчку в CMake, если оное только отдельно, мне не трудно.

a1batross ★★★★★
() автор топика

вроде собирались включить QTimeSpan в Core.
если нету - где-то на гиториусе валяется

dib2 ★★★★★
()

Посмотри std::chrono::time_point и std::chrono::system_clock (C++11)

Gvidon ★★★★
()

Напиши обертку для chrono'вских классов.

deterok ★★★★★
()
Ответ на: комментарий от dib2

В Core его нет, но все равно спасибо. Пойду покопаюсь на эту тему.

a1batross ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Новогодняя акция для наших клиентов! Новый сишный тулчейн для atmega8! Теперь со встроеным qt, kde, gnome3, systemd и explorer.exe!

nanoolinux ★★★★
()

Я навелосипедил свой, когда мне такое потребовалось. Внутри хранилось количество миллисекунд от начала эпохи в int64_t, преобразования производились с помощью mktime, timegm, gmtime и т.п. А вообще в бусте есть отличный вариант.

m0rph ★★★★★
()

QTimeSpan подошел просто отлично. Вопрос снят.

a1batross ★★★★★
() автор топика
Ответ на: комментарий от nanoolinux

дык вот я несколько удивлён. В чём проблема-то?

emulek
()

QDateTime::msecSinceEpoch()

EPOCH можешь себе выбрать по нраву.

trex6 ★★★★★
()

Так а чем тебя сам QDateTime то не устроил? Самый тупой вариант - привести даты к time_t, сделать все необходимые действия, а потом опять привести в QDateTime.

UPD: trex6 меня опередил =)

solovey ★★
()
Последнее исправление: solovey (всего исправлений: 1)

Используй UNIX-time (msecSinceEpoch).

observer ★★★
()
Ответ на: комментарий от DenisPA

Значит у других смекалка лучшее работает, чем у вас.

a1batross ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.