Операции вычисления даты и времени
Переменные типа Date хранят 8-байтовые числа с плавающей точкой. Они представляют даты с 01.01.100 по 31.12.9999 (целая часть) и времени суток с 0:00:00 до 23:59:59 (дробная часть). Язык Visual Basic позволяет выполнять следующие операции над данными типа Date (табл. 4.10):
· вычисление текущих даты и времени;
· установку системных даты и времени;
· вычисление года, месяца, дня месяца, дня недели, часа, минут по заданной дате и времени;
· вычисление чисел, изображающих дату и время.
Таблица 4.9
Важнейшие строковые операторы и функции языка Vasual Basic
Вид оператора | Назначение | Пример |
A+B или A&B, | Объединение строк А и В | А="ли", В="са" А+В="лиса" |
Lcase(A) Ucase(A) | Перевод букв в нижний и верхний регистр | A="FoXлИс" Lcase(A)="foxлис" Ucase(A)="FOXЛИС" |
Trim(A), Ltrim(A), Rtrim(A) | Удаление "концевых" пробелов слева и справа, только слева и только справа, соответственно | А=" П ", Trim(A)="П" Ltrim(A)="П ", Rtrim(A)=" П" |
Len(A) | Вычисление длины строки | А="лиса", Len(A)=4 |
Space(n) | Создание строки из n пробелов | Space(3)=" " |
String(n,"символ") String(n, код) | Создание строки из n заданных символов | String(3,"A")="AAA" String (3,65)="AAA" |
Left(A,n) Right(A,n) | Вычисление левого и правого фрагмента строки А длиной n | А="лиса", тогда Left(A,2)="ли" Right(A,2)="са" |
Mid(A,n[,m])=B | Вставка в строку А строки В или m ее первых символов. Вставку начинать с символа № n. | А="моко", В="лоч", Mid(A,3)=B даст А="молочко" Mid(A,3,2)=B даст А="молоко" |
B=Mid(A,n[,m]) | Вычисление фрагмента строки А длиной m, начинающегося с символа № n | A="кровля" В=Mid(A,2,3) дает В="ров" |
Instr([n,]A,B[,comp]) | Вычисление позиции первого символа фрагмента строки А, совпадающего со строкой В. Сравнение начинать с символа № n. comp=1 – сравнение с учетом регистра, comp=1 – регистр игнорируется | А="молоко", В="Ло" Instr(2,A,B,0) = 0 Instr(2,A,B,1) = 3 |
Lset A=B Rset A=B | Копирование строки В в более длинную строку А с добав-лением пробелов справа или слева соответственно | Dim A as string[5], B="лом", тогда Lset A=B и Rset A =B дадут соответственно А="лом " и А=" лом" |
где А,В – строковые переменные, n,m– целые переменные, скобки [] выделяют необязательный параметр |
Таблица 4.10
Основные операторы и функции для работы с датой и временем
Вид оператора (функции) | Назначение |
D=#d ms y# D=#ms d, y# | Присвоение значения данным типа Date, например, D=#16 Feb 2002# D=#Feb 16 |
Date=D D=Date | Установка и вычисление системной даты |
Time=T T=Time | Установка и вычисление системного времени |
Now | Вычисление текущей даты и времени |
Year(D) | Вычисление года по дате |
Month(D) | Вычисление месяца по дате |
Day(D) | Вычисление дня по дате |
Weekday(D[,fwd]) | Вычисление дня недели |
Hour(T) | Вычисление часа |
Minute(T) | Вычисление минут |
DataValue(SD) | Вычисление даты по ее символьному эквиваленту |
TimeValue(T) | Вычисление времени по его символьному эквиваленту |
DateSerial(y,m,d) | Вычисление даты по году, месяцу и дню |
TimeSerial(h,m,s) | Вычисление времени по часу, минутам, секундам |
DateAdd(i,n,dn) | Вычисление даты, отличающейся от начальной даты d на целое число n периодов типа i |
DateDiff(i,dn,de[,fwd][,fwy]) | Вычисление числа временных интервалов типа i, прошедших между датами dn и de. |
Где D,Т – данные типа Date (D – целая часть, T – дробная часть), SD – символьный эквивалент даты, y,m,d – целые числа, соответствующие году, месяцу, дну месяца, h,m,s – то же, соответствующие часу, минутам и секундам, ms – символьный эквивалент месяца (например, February и т.д.) n – целое число прошедших периодов, dn,de – начальная и конечная даты, i – тип периода ("yyyy" – год, "q" – квартал, "m" – месяц, "y" – день года и т.д.), fwd – первый день недели (vbSunday, vbMonday, …vbSatarday, vbUseSystem) fwy – первая неделя года (vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek) |
Следует иметь в виду, что формат представления даты в операторе присваивания и сокращенные наименования месяцев определяются настройками операционной системы.