и gmtime конвертируют значение, полученное
uses stdio;
function localtime(var _timeval:longint):ptm;
function gmtime(var _timeval:longint):ptm;
function asctime(const tptr:ptm):pchar;
function mktime(tptr:ptm):longint;
function difftime(time1, time2:longint):double;cdecl;external 'c';
Процедуры localtime и gmtime конвертируют значение, полученное в результате вызова GetTimeOfDay, в структуру tm и возвращают локальное время и стандартное гринвичское время соответственно. Например, программа
(* Программа tm - демонстрация структуры tm *)
uses linux,stdio;
var
t:longint;
tp:ptm;
begin
(* Получить системное время *)
t:=gettimeofday;
(* Получить структуру tm *)
tp := localtime (t);
printf ('Время %02d:%02d:%02d'#$a, [tp^.tm_hour, tp^.tm_min,
tp^.tm_sec]);
halt (0);
end.
выводит сообщение
Время 1:13:23
Процедура asctime преобразует структуру tm в строку в формате вывода процедуры ctime, а процедура
mktime преобразует структуру tm
в соответствующее ей системное время (число секунд). Процедура difftime возвращает разность между двумя значениями времени в секундах.
Другие функции для работы со временем:
EpochToLocal
|
Преобразует время от начала эпохи в локальные дату и время
|
GetDate
|
Возвращает системную дату
|
GetDateTime
|
Возвращает системные дату и время
|
GetEpochTime
|
То же, что и GetTimeOfDay, но с учетом временной зоны
|
GetLocalTimezone
|
Возвращает системную временную зону
|
GetTime
|
Возвращает системное время
|
GetTimezoneFile
|
Возвращает имя файла временной зоны
|
ReadTimezoneFile
|
Возвращает содержимое файла временной зоны
|
Пример использования GetEpochTime:
Uses linux;
begin
Write ('Secs past the start of the Epoch (00:00 1/1/1970) : ');
Writeln (GetEpochTime);
end.
Пример использования EpochToLocal:
Uses linux;
Var Year,month,day,hour,minute,seconds : Word;
begin
EpochToLocal (GetEpochTime,Year,month,day,hour,minute,seconds);
Writeln ('Current date : ',Day:2,'/',Month:2,'/',Year:4);
Writeln ('Current time : ',Hour:2,':',minute:2,':',seconds:2);
end.
Упражнение 12.3. Напишите свою версию процедуры asctime.
Упражнение 12.4. Напишите функцию weekday, возвращающую 1 для рабочих дней и 0 – для выходных. Напишите обратную функцию weekend. Эти функции также должны предоставлять возможность задания выходных дней.
Упражнение 12.5. Напишите процедуры, возвращающие разность между двумя значениями, полученными при вызове gettimeofday в днях, месяцах, годах и секундах. Не забывайте про високосные годы!
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий