Иллюстрированный самоучитель по MatLab

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

Таблица 8.5. Форматы представления даты.

Dateform(номер) Dateform (строка) Пример
0 'dd-mmM-yyyy HH:MM:SS' 11-Mar-1995 03:45
1 'dd-mmM-yyyy' 01-Mar-1995
2 'mm/dd/yy' 03/01/95
3 ' mmm ' Mar
4 'm' M
5 'mm' 3
6 'mm/dd' 03/01
7 'dd' 1
8 'ddd' Wed
9 'd' W
10 'УУУУ' 1995
11 'УУ 95
12 ' mmmyy ' Mar95
13 'HH:MM:SS' 15:45:17
  • datevec(A) – преобразует входные величины в массив размерности пхб, каждая строка которого представляет собой вектор [Y,M.D,H,MI,S]. Первые пять элементов вектора – целые числа. Массив А может состоять или из строк, удовлетворяющих формату функции datestr, или из скалярных величин, созданных функциями datenum и now;
  • [Y, M., 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 и М. Пример (нахождение високосных лет двадцатого столетия):
>> y =1900:1999;
>> E = eomday(y.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,t1) – возвращает длительность промежутка времени (в секундах), задаваемого векторами t1 и t2. Векторы должны удовлетворять формату, выдаваемому функцией clock:
T = [год месяц день час минуты секунды]

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

>> x = rand(2048,1);t = clock; fft(x); etime(clock.t);etime (clock.t)
ans =
0.0500
  • now – возвращает текущие время и дату в форме числа. Использование rem(now.l) возвращает только время, a floor(now) – только дату. Пример:
>> t1 = now, t2 = rem(now,1)
t1 =
7.3009e+005
t2 =
0.6455
  • tic – запускает таймер;
  • toc – выводит время, прошедшее с момента запуска таймера;
  • t = toe – возвращает прошедшее время в переменной 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 + Enter, чтобы сообщить об этом редактору.