Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Миллисекунды в формат[Часы:Минуты:Сек:Мсек] 
V
    Опции темы
Alca
Дата 25.9.2008, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 5
Всего: 50



Как перевести миллисекунды в формат[Часы:Минуты:Сек:Мсек]?
Цитата

unsigned short usMilliSec -> std::string sTimeStr


Это сообщение отредактировал(а) Alca - 25.9.2008, 11:14


--------------------
PM WWW ICQ Skype Jabber   Вверх
Lazin
Дата 25.9.2008, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 8
Всего: 154



никак, можно file time перевести в SYSTEM_TIME и потом отформатировать, в unsigned short время (полное) храниться не может, может только изменение времени
PM MAIL Skype GTalk   Вверх
Andrey44
Дата 25.9.2008, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: 8
Всего: 26



Ну или делением а потом в строку впихнуть.
В МФЦ например есть класс CTimeSpan - он все переводит в нормальное время smile 


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
586
Дата 25.9.2008, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 39
Всего: 146



Код
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    char buf[64];
    UINT h, m, s, ms;
    UINT t = GetTickCount();

    /* 1 000 ms = 1 sec       *
     * 60 000 ms = 1 min      *
     * 3600 000 ms = 1 h      */

    h = t / 3600000;
    m = t % 3600000 / 60000;
    s = t % 60000 / 1000;
    ms = t % 1000;

    sprintf(buf, "%u:%.2u:%.2u.%.3u", h, m, s, ms);
    Caption = buf;
}

PM   Вверх
Alca
Дата 25.9.2008, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 5
Всего: 50



586, спасибо. +1


--------------------
PM WWW ICQ Skype Jabber   Вверх
asd1234
Дата 18.11.2008, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 17.4.2008

Репутация: нет
Всего: нет



спс помогло


Это сообщение отредактировал(а) asd1234 - 18.11.2008, 18:51
PM MAIL   Вверх
Alca
Дата 15.1.2010, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 5
Всего: 50



Код

//--------------------------------------------------------------------------
//TODO: + bMSecToDateTime ()
/*static*/BOOL CXDateTime::bMSecToDateTime(ULONGLONG ullMilliSec, SYSTEMTIME *stST) { 
    /*DEBUG*/

    BOOL bRes = FALSE;

    stST->wYear         = static_cast<USHORT>(ullMilliSec / ((1000ULL * 60 * 60 * 24 * 30) * 12));
    ullMilliSec        %= ((1000ULL * 60 * 60 * 24 * 30) * 12);

    stST->wMonth        = static_cast<USHORT>(ullMilliSec / ((1000ULL * 60 * 60 * 24) * 30));
    ullMilliSec        %= ((1000ULL * 60 * 60 * 24) * 30);

    stST->wDay          = static_cast<USHORT>(ullMilliSec / ((1000ULL * 60 * 60) * 24));
    ullMilliSec        %= ((1000ULL * 60 * 60) * 24);

    stST->wHour         = static_cast<USHORT>(ullMilliSec / ((1000ULL * 60) * 60));
    ullMilliSec        %= ((1000ULL * 60) * 60);

    stST->wMinute        = static_cast<USHORT>(ullMilliSec / ((1000ULL * 60)));
    ullMilliSec           %= ((1000ULL * 60));

    stST->wSecond        = static_cast<USHORT>(ullMilliSec / 1000ULL);
    ullMilliSec        %= 1000ULL;

    stST->wMilliseconds = static_cast<USHORT>(ullMilliSec);

    return TRUE;
}
//--------------------------------------------------------------------------
//TODO: + ullDateTimeToMSec ()
/*static*/ULONGLONG CXDateTime::ullDateTimeToMSec(const SYSTEMTIME &stST) { 
    /*DEBUG*/

    ULONGLONG ullRes = 0/*ULL*/;

    ullRes += stST.wYear         * 1000ULL * 60 * 60 * 24 * 30 * 12;
    ullRes += stST.wMonth        * 1000ULL * 60 * 60 * 24 * 30;
    ullRes += stST.wDay          * 1000ULL * 60 * 60 * 24;
    ullRes += stST.wHour         * 1000ULL * 60 * 60; 
    ullRes += stST.wMinute       * 1000ULL * 60;
    ullRes += stST.wSecond       * 1000ULL * 1;
    ullRes += stST.wMilliseconds * 1;

    return ullRes;
}
//--------------------------------------------------------------------------



--------------------
PM WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0517 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.