Читать учебное пособие по информатике, вычислительной технике, телекоммуникациям: "Структуры и функции времени" Страница 1

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

Кафедра: Автоматика и Информационные Технологии Структуры и функции времени

Дается обзор и описание встроенных структур данных, связанных с датами и временем. Дается описание основных функций времени. Приводятся практические задания для лучшего усвоения материала, а также указания по подготовке и выполнению лабораторных заданий.

СОДЕРЖАНИЕ

1. Структуры и функции времени 1.1. Системное время в секундах 1.2. Структуры времени 1.3. Преобразование времени из секунд в строку со временем 1.4. Одновременная работа с датой и временем 1.5. Представление текущего времени в строку 1.6. Работа с тиками 1.7. Изменение даты и времени модификации файла 1.8. Работа с системными часами 1.9. Получение/установка системной даты 1.10. Получение/установка системного времени 1.11. Установка системной даты и времени по секундам 1.12. Функции задержки 1.13. Схема взаимодействия функций времени 1.14. Пример. В какой день недели вы родились? 2. Контрольные вопросы и задания. 3. Лабораторные задания 3.1. День недели 3.2. Не думай о секундах свысока … 3.3. Профилирование кода 4. Дополнительные задания Библиографический список 1. Структуры и функции времени1.1.Системное время в секундах

Предположим, что мы задались целью выяснить наше географическое местоположение с помощью оказавшегося под рукой персонального компьютера. Разумеется, мы не сможем узнать точных координат, но определить, в пределах какого часового пояса находится компьютер, довольно легко. Для этого достаточно знать разницу между нашим поясным временем и Гринвичским средним временем. Стандартная библиотека Си располагает функцией time(), которая сообщает, сколько секунд прошло с того момента, когда на Гринвичском меридиане было 00:00:00 1 января 1970 года (этот момент - некий аналог Рождества Христова - для ясности называется "эпохой").

#include

long time(long *timeptr);

Указанное число секунд записывается также по адресу переменной timeptr (если timeptr = NULL, эта запись не производится). Обычный год содержит 31 536000 секунд, плюс 86400 секунд (один день) для високосного года, час содержит 3600 секунд. Не составит труда написать программу, вычисляющую все необходимые остатки от деления и добавляющую к ним разницу по сравнению с Гринвичем. Каков же будет ее результат? Ошибка в определении поясного времени будет, вероятно, примерно соответствовать земному полушарию. Наш компьютер "считает", что он находится в Редмонде, штат Вашингтон, США.

Причина этого несоответствия – MS DOS, так как в Редмонде находится фирма Microsoft, создавшая эту операционную систему. Среди зарезервированных имен переменных окружения, которые можно задать командой SET, фигурирует переменная с коротким именем TZ (Time: Zone), по значению которой функция tiтe() и устанавливает разницу во времени с GMT (Greenwich mean time). Если TZ не задана, ей присваивается значение PST8PDT (Pacific time zone), которое и приводит к ошибке.

Поясним характер и порядок ее использования. Установка переменной TZ определяет значения глобальных переменных daylight, timezoпe и tzname, которые используются несколькими функциями, работающими со временем и датой.:

#include

int daylight; /* флаг летнего времени */

long timezone; /* отличие в секундах от GMT */

char *tzname[2] /* обозначение зоны времени */

Значение переменной окружения TZ представляет собой трехбуквенное обозначение зоны времени, за которым


Интересная статья: Основы написания курсовой работы