![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
qaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 407 Регистрация: 25.3.2002 Репутация: нет Всего: 4 |
как перевести разницу во времени в кол - во секунд. То есть данное время 16.00 , второе время 13.03
и надо узнать сколько точно секунд между ними (это для прогреес бара таймера, если есть др. способ подскажите) ЗЫ пытался что то придумать, но почему то иногда получаются левые пару тройку секунд или минут. Вот алгортм hourc=m_set.GetHour(); minc=m_set.GetMinute(); sec=m_time.GetSecond(); hour=m_time.GetHour(); min=m_time.GetMinute(); if(hourc<hour) { if(hour>12) houre=24-hour+hourc; else houre=12-hour+hourc; } else houre=hourc-hour; if(minc<min) { mine=60-minc+min; if(hourc-hour==0) houre=24; houre=houre-1; } else mine=minc-min; //if(minc==0 || minc==60) houre=houre-1; p=((houre*60+mine)*60);//-(sec); p=p-p/14; m_prog.SetRange(0,p); m_prog.SetStep(1); где hourc, minc, sec - конечное время hour, min - начальное время p -кол-во делений в прогресс баре (его имнно мне и надо точно узнать) ![]() ![]() -------------------- |
|||
|
||||
Sheff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 503 Регистрация: 25.3.2002 Где: Зеленоград Репутация: 3 Всего: 3 |
Попробуй использовать MFC класс CTimeSpan, это разница двух объектов CTime, в нём есть всякие функции форматирования времени
-------------------- -------------------------- Шеф всегда прав :) |
|||
|
||||
TwoK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 259 Регистрация: 25.3.2002 Репутация: нет Всего: нет |
Ну так вот.
Время в виндах лежит в формате "количество секунд с даты 1 января 1ххх" (если не изменяет склероз, с 1970 или с 1870, неважно). Так вот, например, в Билдере я могу сделать TDateTime time1, time2, time3; time1 = "10.01.2002 13:00"; time2 = "10.01.2002 16:01" и потом сделать time3 = time2 - time 1 и в time3 я получу "00.00.0000 03:01" Ну эти тексты есссно после переформатирования в String. -------------------- Говорят, что население в стране все меньше и меньше. А народу по утрам в метро почему-то все больше и больше... |
|||
|
||||
keisik |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 25.3.2002 Репутация: нет Всего: нет |
Если ты сам снимаешь время в моменты замера, а не используешь откуда-нибудь, и в перерывах между ними комп не выключается - есть смысл юзать DWORD timeGetTime(); Она тебе вернёт с точностью до миллисекунд.
А если ты вычисляешь разницу между уже указанными временами - то действительно CTimeSpan и CTime или вот так:
--------------------
...None of that can stop us now,we will make it through somehow... |
|||
|
||||
qaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 407 Регистрация: 25.3.2002 Репутация: нет Всего: 4 |
Пасиба всем
![]() -------------------- |
|||
|
||||
derevenge |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 14.4.2007 Репутация: нет Всего: нет |
А как можно поменять системное время?
![]() |
|||
|
||||
fantast |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 10.12.2006 Где: минск, столица на шей Родины Репутация: 2 Всего: 2 |
системное SetSystemTime() локальное SetLocalTime() это апишные функции --------------------
Эпитафия: Он старался. Неизвестный |
|||
|
||||
derevenge |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 14.4.2007 Репутация: нет Всего: нет |
сможешь привести пример по изменению даты на 1 час 1 минуту и 1 секунуд назад?
![]() |
|||
|
||||
console |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 307 Регистрация: 12.2.2007 Где: Belarus::Minsk Репутация: 1 Всего: 3 |
lpSystemTime указывает на SYSTEMTIME, структуру, содержащую текущее системное время и дату... структура SYSTEMTIME:
Создаем временную структуру SYSTEMTIME.... считываем в нее текущее время:
отнимаем от часов, минут и секунд единицу... юзаем
если где ошибся, или предложил нерациональный вариант, поправьте plz... только начинаю изучение winAPI |
||||||||
|
|||||||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |