Функции времени и даты
Таблица 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 61904 1908 1912 1916 1920 1924Columns 7 through 121928 1932 1936 1940 1944 1948Columns 13 through 181952 1956 1960 1964 1968 1972Columns 19 through 241976 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+005t2 =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 1S=Mon Sun