Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VisualFoxPro.doc
Скачиваний:
15
Добавлен:
01.07.2025
Размер:
11 Мб
Скачать
☆

3.9.6. Операции для данных типа Date и DateTime

При работе с данными типа Date и DateTime употребляются операции сложения и вычитания.

Важно помнить, что после выполнения оператора

someDate = Date( ) – 1

переменная someDate будет содержать дату, на один день меньшую системной даты, полученной функцией DATE( ), а после присваивания

someDateTime = DateTime( ) – 1

в переменную someDateTime будет установлено значение, на одну секунду меньшее системных даты и времени, полученных функцией DATETIME( ). В этом несложно удостовериться, выполнив, например, следующие операторы:

currentDate = Date( )

currentDateTime = DateTime( )

&& Пусть текущая дата – это 14 ноября 2004 г., а текущее время – это 10 ч 44 мин 22 с

? currentDate && Напечатает: 11/14/04

? currentDate – 1 && Напечатает: 11/13/04

? currentDateTime && Напечатает: 11/14/04 10:44:22 AM

? currentDateTime – 1 && Напечатает: 11/14/04 10:44:21 AM

Аналогичным образом интерпретируется и операция сложения.

Пример. Увеличить значение переменной типа DateTime на 2 ч 30 мин 5 с.

currentDateTime = DateTime( )

tIncreased = currentDateTime + 2 * 3600 +30 * 60 + 5

В случае юлианских дат (при их числовом представлении) возможны любые арифметические операции.

3.9.7. Команды для данных типа Date и DateTime

Команда

SET CENTURY ON | OFF | TO [nCentury [ROLLOVER nYear]]

если установлена в ON обеспечивает воспроизведение года в виде 4-х цифр; при установке команды в OFF (задана по умолчанию) год отображается в виде 2-х цифр.

При использовании даты, в которой год задается в виде 2-х цифр, параметр nCentury задает век, к которому относится год; принимает значения от 1 до 99. По умолчанию nCentury = 19.

Параметр nYear опции ROLLOVER принимает значения от 0 до 99 и задает год, начиная с которого указанный в виде 2-х цифр год даты принадлежит к веку nCentury; год даты, меньший nYear, будет относиться к веку, следующему за веком nCentury. По умолчанию nYear = 54.

Выполнение SET CENTURY TO без аргументов восстанавливают значения по умолчанию для nCentury и nYear.

Установки SET CENTURY TO сохраняются с текущей сессией данных. Новая сессия данных берет заданные по умолчанию значения nCentury и nYear.

Пример. Возьмем таблицу Test.dbf, имеющую в том числе поле Date типа Date. Зададим в командном окне установки

set century off

set century to

После их выполнения год даты в поле Date таблицы отображается в виде 2-х цифр. Исключение составляет выбранное поле, в котором год представлен полностью (рис. 3.5, а).

а

б

в

г

д

е

Рис. 3.5. Отображение дат: а, б – используются заданные по умолчанию значения nCentury и nYear; в, г, д – для новых записей nCentury = 15, nYear = 55; е - SET CENTURY установлен в ON

Поскольку использованы заданные по умолчанию значения команды SET CENTURY, то вводимые для указания года его две последние цифры – 04 относят год к 21 веку. Если, однако, в новой записи таблицы ввести на месте года 54, то этот год будет позиционирован в 20 веке (рис. 3.5, б).

Изменим установки SET CENTURY:

set century to 15 rollover 55

добавим 2 записи и введем на месте года в первой 04, а во второй – 54. При таких установках и первая и вторая даты будут позиционированы в 17-м веке (рис. 3.5, в и г); ввод на месте года цифр 55 отнесет дату к 16-у веку (рис. 3.5, д).

После выполнения

set century on

все даты отобразятся с полным представлением года (рис  3.5, е).

Восстановим заданные по умолчанию значения nCentury и nYear.

set century to

Замечание. Работа с 2-значным годом несколько снижает время ввода данных, однако при этом приходится следить за значениями nCentury и nYear. Более предпочтительно 4-значное представление года, поскольку оно позволяет визуально контролировать год при вводе дат и дат и времени.

Команда

SET DATE [TO] AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITALIAN | JAPAN | TAIWAN | USA | MDY | DMY | YMD | SHORT | LONG

задает формат отображения значений типа Date и DateTime. Возможные виды представлений даты и даты и времени приведены в табл. 3.35.

Таблица 3.35

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]