exponenta event banner

Извлечение или назначение компонентов даты и времени массива Datetime

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

Доступ к свойствам для извлечения компонента даты и времени

Создать datetime массив.

t = datetime('now') + calyears(0:2) + calmonths(0:2) + hours(20:20:60)
t = 1x3 datetime
   24-Mar-2021 13:06:58   25-Apr-2022 09:06:58   26-May-2023 05:06:58

Получение значений года каждого даты и времени в массиве. Используйте точечную нотацию для доступа к Year имущество t.

t_years = t.Year
t_years = 1×3

        2021        2022        2023

Выходные данные, t_years, является числовым массивом.

Получение значений месяца каждого даты и времени в t путем доступа к Month собственность.

t_months = t.Month
t_months = 1×3

     3     4     5

Можно получить дневные, часовые, минутные и вторые компоненты каждого даты и времени в t путем доступа к Hour, Minute, и Second соответственно.

Использование функций для извлечения компонента даты и времени

Используйте month функция для получения номера месяца для каждого даты и времени в t. Использование функций является альтернативным способом извлечения определенных компонентов даты или времени t.

m = month(t)
m = 1×3

     3     4     5

Используйте month вместо функции Month свойство для получения полных имен месяцев каждого даты и времени в t.

m = month(t,'name')
m = 1x3 cell
    {'March'}    {'April'}    {'May'}

Вы можете получить год, квартал, неделю, день, час, минуту и второй компонент каждого даты и времени в t с использованием year, quarter, week, hour, minute, и second соответственно.

Получение номеров недель года для каждого даты и времени в t.

w = week(t)
w = 1×3

    13    18    21

Получение нескольких компонентов даты и времени

Используйте ymd функция для получения значений года, месяца и дня t как три отдельных числовых массива.

[y,m,d] = ymd(t)
y = 1×3

        2021        2022        2023

m = 1×3

     3     4     5

d = 1×3

    24    25    26

Используйте hms функция для получения часового, минутного и второго значений t как три отдельных числовых массива.

[h,m,s] = hms(t)
h = 1×3

    13     9     5

m = 1×3

     6     6     6

s = 1×3

   58.2836   58.2836   58.2836

Изменение компонентов даты и времени

Назначение новых значений компонентам в существующем datetime путем изменения свойств массива. Для доступа к определенному свойству используйте точечную нотацию.

Изменение номера года всех значений datetime в t по 2014 год. Используйте точечную нотацию для изменения Year собственность.

t.Year = 2014
t = 1x3 datetime
   24-Mar-2014 13:06:58   25-Apr-2014 09:06:58   26-May-2014 05:06:58

Изменение месяцев трех значений datetime в t по январю, февралю и марту соответственно. Необходимо указать новое значение в виде числового массива.

t.Month = [1,2,3]
t = 1x3 datetime
   24-Jan-2014 13:06:58   25-Feb-2014 09:06:58   26-Mar-2014 05:06:58

Установка часового пояса t путем назначения значения TimeZone собственность.

t.TimeZone = 'Europe/Berlin';

Изменение формата отображения t для отображения только даты, а не информации о времени.

t.Format = 'dd-MMM-yyyy'
t = 1x3 datetime
   24-Jan-2014   25-Feb-2014   26-Mar-2014

При назначении значений компоненту datetime, который находится за пределами обычного диапазона, MATLAB ® нормализует компоненты. Обычный диапазон для номеров дней месяца составляет от 1 до 31. Назначьте значения дней, превышающие этот диапазон.

t.Day = [-1 1 32]
t = 1x3 datetime
   30-Dec-2013   01-Feb-2014   01-Apr-2014

Номера месяца и года корректируются таким образом, чтобы все значения оставались в пределах обычного диапазона для каждого компонента даты. В этом случае 1 января 2014 года переходит на 30 декабря 2013 года.

См. также

| | |