| Программирование для IBM OS/2© Александр Фролов, Григорий ФроловТом 25, М.: Диалог-МИФИ, 1993, 286 стр. 
 7.4. Другие функции для работы с таймеромВ этом разделе мы расскажем о других функциях, предназначенных для работы с таймером, для определения текущего времени и даты. Функция WinGetCurrentTimeФункция WinGetCurrentTime возвращает текущее время, измеренное в миллисекундах от момента загрузки операционной системы IBM OS/2. Учтите, что если компьютер работает много недель, это значение может переполняться и сбрасываться в ноль. Прототип функции WinGetCurrentTime приведен ниже: ULONG WinGetCurrentTime(HAB hab); Этой функцией удобно пользоваться, например, для измерения продолжительности какого-либо процесса. Для этого нужно вызвать функцию до начала процесса и после, а затем сравнить возвращенные значения. Что же касается определения абсолютного текущего времени и даты, для этого удобнее использовать функцию DosGetDateTime , которую мы опишем ниже. Функция WinQueryMsgTimeЭта функция возвращает время в миллисекундах для последнего сообщения, извлеченного из очереди сообщений приложения. Возвращаемое значение времени отсчитывается от момента загрузки операционной системы. Прототип функции WinQueryMsgTime представлен ниже: ULONG WinQueryMsgTime(HAB hab); Вы можете использовать эту функцию для измерения времени, прошедшего между обработкой двух сообщений. Функция DosGetDateTimeДля определения текущего времени и даты удобнее всего использовать функцию DosGetDateTime : APIRET DosGetDateTime(PDATETIME PDateTime); Эта функция записывает в стркутуру типа DATETIME информацию о текущем времени и дате. Формат этой структуры приведен ниже: 
typedef struct _DATETIME 
{
  UCHAR  hours;       // часы
  UCHAR  minutes;     // минуты
  UCHAR  seconds;     // секунды
  UCHAR  hundredths;  // сотые доли секунды
  UCHAR  day;         // число
  UCHAR  month;       // месяц
  USHORT year;        // год
  SHORT  timezone;    // временной пояс
  UCHAR  weekday;     // день недели
} DATETIME;
 | 


![[Назад]](../../prev.gif)
![[Содеожание]](../../sod.gif)
![[Дальше]](../../next.gif)