FAQ по работе со временем и датой

  1. Получение текущей даты и времени (VCL вариант)
  2. Получение текущего времени (VCL вариант)
  3. Получение дня недели (VCL вариант)
  4. Часы на форме с точностью до минут
  5. [+] Часы на форме с точностью до долей секунд
  6. Как подсчитать время выполнения функции
  7. Время в процессорных тактах
  1. Получение текущей даты и времени (VCL вариант)

    // для получения текущей даты и времени воспользуйтесь функцией
    // Now() из модуля Sysutils.hpp . Отобразить полученные дату и
    // время можно следующим образом (Button1 - кнопка на форме):
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    Form1->Caption = DateTimeToStr(Now());
    }

  2. Получение текущего времени (VCL вариант)

    // для получения текущего времени воспользуйтесь функцией Time()
    // из модуля Sysutils.hpp . Отобразить полученную дату можно
    // следующим образом (Button1 - кнопка на форме):
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    Form1->Caption = DateTimeToStr(Time());
    }

  3. Получение дня недели (VCL вариант)

    // для получения дня недели воспользуйтесь функцией DayOfWeek()
    // из модуля Sysutils.hpp, передав ей текущую дату. DayOfWeek
    // возвращает значение от 1 до 7, где 1 - воскресенье,
    // 2 - понедельник, и т. д.
    int Day = DayOfWeek(Date());

  4. Часы на форме с точностью до минут

    Напишите следующий код:
    void __fastcall TForm1::Timer1Timer(TObject *Sender)
    {
    Label1->Caption = FormatDateTime("hh:nn",Time());
    Timer1->Interval=10000;// меньше число, больше точность
    }

  5. Часы на форме с точностью до долей секунд

    Напишите следующий код:
    void __fastcall TForm1::Timer1Timer(TObject *Sender)
    {
    Label1->Caption=Time().FormatString("hh:mm:ss:zz");
    Timer1->Interval=1;
    }
    Автор: ant47

  6. Как подсчитать время выполнения функции

    Напишите следующий код:
    DWORD start=GetTickCount();
    // тут ваша функция или как-либо действия
    Edit1->Text=FloatToStr((GetTickCount()-start)/1000.);

  7. Время в процессорных тактах

    // Для того чтобы узнать время в процессорных тактах
    // напишите следующую функцию:
    #pragma warn -8070
    __int64 Ticks()
    {
    asm .586
    asm RDTSC
    }
    #pragma warn +8070

    // вызов функции
    __int64 i = Ticks();


Опубликовал admin
23 Июл, Пятница 2004г.
furniterra.ru.


Программирование для чайников.