Функции времени и даты

Ряд функций служит для возврата текущего времени и даты.

- calendar(d) — возвращает календарь на месяц, в который попадает день, задан­ный аргументом d (дни отсчитываются от начала летоисчисления);

- calendar — возвращает матрицу размером 6x7, содержащую календарь на те­кущий месяц. Календарь начинается с воскресения (первый столбец) и завер­шается субботой;

- calendar (у, m) — возвращает календарь на месяц, заданный аргументом m, и год, заданный аргументом у;

Вызов функции без присваивания результата выдает календарь на экран. Примеры:

» calendar

Jul 2000

S M Tu W Th F S

0 0 0 0 0 0 1

2 3 4 5 6 7 8

9 10 11 12 13 14 15

16 17 18 19 20 21 22

23 24 25 26 27 28 29

30 31 0 0 0 0 0

» calendar(700477)

Nov 1917

S M Tu W Th F S

0 0 0 0 1 2 3

4 5 6 7 8 9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30 0

0 0 0 0 0 0 0

- clock — возвращает вектор из 6 элементов, содержащий текущую дату и время в десятичной форме [год месяц день час минуты секунды]. Первые пять элемен­тов этого вектора — целые числа. Шестой элемент имеет несколько десятич­ных знаков после запятой. Функция fix(clock) округляет число секунд до це­лого значения. Пример:

» c=clock

с = l.0e+003 *

2.0000 0.0070 0.0240 0.0200 0.0120 0.0148

» fix(clock)

ans = 2000 7 24 20 12 26

- cputime — возвращает время работы процессора (в секундах), использованное системой MATLAB с момента ее запуска. Это число может выйти за рамки внутреннего представления, и тогда отсчет времени начинается заново. Пример:

» +tl-cputime; w=surf(peaks(30));cputime - tl

ans = 0.2200

- str = date — возвращает строку, содержащую дату в формате дд-ммм-гггг (день-месяц-год). Пример:

» d = date

d = 24-Jul-2000

- datenum — преобразует строку даты в порядковый номер даты, который отсчи­тывается с некоторого начального дня (01.01.00);

- datenum(str) — преобразует дату, заданную строкой str, в порядковый номер даты. Строка string должна иметь один из следующих форматов: 0, 1, 2, 6, 13, 14, 15 или 16, определенных для функции datestr;

- datenum(Y,M,D) — возвращает порядковый номер даты для соответствующих массивов элементов Y, М и D (год, месяц, день). Массивы Y, М и D должны иметь одинаковую размерность (при этом любые из них могут быть скалярами);

- datenum(Y,M,D,H,MI,S) — возвращает порядковый номер даты для соответствую­щих массивов элементов Y, М, D, H, Ml и S (год, месяц, день, часы, минуты, секун­ды). Массивы Y, М, D, H, Ml и S должны иметь одинаковую размерность (при этом любые из них могут быть скалярами).

Пример:

» nl = datenum('26-Nov-1998')

nl = 730085

» Y=[1998,2000]; M=[1,12]; D=23; N-datenum(Y,M,D)

N = 729778 730843

- datestr(D.dateform) - преобразует каждый элемент массива порядковых номеров даты D в строку. Аргумент dateform определяет формат результата; dateform может быть номером или строкой.

Форматы представления даты

Dateform (номер) Dateform (строка) Пример
  'dd-mmM-yyyy HH:MM:SS' Ol-Mar-1995 03:45
  'dd-mmM-yyyy' Ol-Mar-1995
  'mm/dd/yy' 03/01/95
  'mmm' Mar
  'm' M
  'mm'  
  'mm/dd' 03/01
  'dd'  
  'ddd' Wed
  'd' W
  'yyyy'  
  'yy'  
  'mmmyy' Mar95
  'HH:MM:SS' 15:45:17

- datevec(A) — преобразует входные величины в массив размерности nх6, каж­дая строка которого представляет собой вектор [ Y, М, D, H, MI, S]. Первые пять эле­ментов вектора — целые числа. Массив А может состоять или из строк, удов­летворяющих формату функции datestr, или из скалярных величин, созданных функциями datenum и now;

- [Y, М., D, H, MI, S] = datevec (A) — возвращает компоненты вектора даты как индивидуальные переменные.

Любой компонент входного вектора, который не вписывается в нормальный ди­апазон дат, преобразуется в следующий диапазон (так, например, несуществую­щая дата June 31 преобразуется в July 1). Допускаются значения нулевого месяца и нулевого дня. Например;

» n = datevec('11/31/98')

n = 1998 12 1 0 0 0

» n = datevec(710223)

n = 1944 7 10 0 0

- eomday (Y, М) — возвращает последний день года и месяца, заданных соответствен­но элементами массивов Y и М. Пример (нахождение високосных лет двадцатого столетия):

» у = 1900:1999;

» Е = eomday(у,2);

» y(find(E= =29))

ans =

Columns 1 through 6

1904 1908 1912 1916 1920 1924

Columns 7 through 12

1928 1932 1936 1940 1944 1948

Columns 13 through 18

1952 1956 1960 1964 1968 1972

Columns 19 through 24

1976 1980 1984 1988 1992 1996

- etime(t2,tl) — возвращает длительность промежутка времени (в секундах), задаваемого векторами tl и t2. Векторы должны удовлетворять формату, вы­даваемому функцией clock:

Т - [год месяц день час минуты секунды].

Функция работает некорректно, если в текущий промежуток времени попадут границы месяца или года, что, однако, случается крайне редко и исправляется при повторе операции. Пример (вычисляется время, затрачиваемое на быстрое пре­образование Фурье с 2048 точками):

» х = rand(2048.1); t = clock; fft(x); et1me(clock,t); etime (clock,t)

ans = 0.0500

- now — возвращает текущие время и дату в форме числа. Использование rem(now,l) возвращает только время, a floor(now) — только дату.

- tic — запускает таймер;

- toc — выводит время, прошедшее с момента запуска таймера;

- t = toc — возвращает прошедшее время в переменной t. Пример:

» tic,surf(peaks(50));toc

elapsed_time = 0.7600

- [N,S] = weekday(D) — возвращает день недели в виде числа N и в виде строки S для каждой даты массива D. Пример:

» D=[728647,735730]:[N,S] = weekday(D)

N = 2 1

S = Mon Sun


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: