В этом примере показаны два способа извлечения компонентов даты и времени из существующих массивов 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
Получите значения года для каждого datetime в массиве. Используйте запись через точку для доступа к Year
свойство t
.
t_years = t.Year
t_years = 1×3
2021 2022 2023
Выход, t_years
, является числовым массивом.
Получите значения месяцев для каждого datetime в t
путем доступа к Month
свойство.
t_months = t.Month
t_months = 1×3
3 4 5
Можно извлечь день, час, минуту и второй компоненты каждого datetime в t
путем доступа к Hour
, Minute
, и Second
свойства, соответственно.
Используйте month
функция, чтобы получить номер месяца для каждого datetime в t
. Использование функций является альтернативным способом извлечения определенных компонентов даты или времени t
.
m = month(t)
m = 1×3
3 4 5
Используйте month
функция, а не Month
свойство, чтобы получить полные имена месяцев для каждого datetime в t
.
m = month(t,'name')
m = 1x3 cell
{'March'} {'April'} {'May'}
Можно извлечь год, квартал, неделю, день, час, минуту и второй компоненты каждого datetime в t
использование year
, quarter
, week
, hour
, minute
, и second
функций, соответственно.
Получите номера недель года для каждого datetime в 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 года.