При создании datetime массивы в коде MATLAB ®, предназначенные для создания кода, необходимо указать значения с помощью datetime функция. См. раздел Даты и время.
Для datetime массивы, генерация кода не поддерживает следующие входы и операции:
Ввод текста. Например, указание символьного вектора в качестве входного аргумента приводит к ошибке.
function d = foo() %#codegen d = datetime('2019-12-01'); end
'Format' аргумент пары имя-значение. Невозможно указать формат отображения с помощью datetime или путем установки Format свойство datetime массив. Чтобы использовать определенный формат отображения, создайте datetime массив в MATLAB, затем передать его в качестве входного аргумента функции, которая предназначена для генерации кода.
'TimeZone' аргумент пары имя-значение и TimeZone собственность. При использовании datetime массивы в коде, предназначенном для генерации кода, должны быть незональными.
Задание свойств компонента времени. Например, установка Hour свойство в следующем коде приводит к ошибке:
d = datetime; d.Hour = 2;
Рост по назначению. Например, назначение значения за пределами массива приводит к ошибке.
function d = foo() %#codegen d = datetime(2019,1:12,1,12,0,0); d(13) = datetime(2020,1,1,12,0,0); end
Удаление элемента. Например, назначение пустого массива элементу приводит к ошибке.
function d = foo() %#codegen d = datetime(2019,1:12,1,12,0,0); d(1) = []; end
Преобразование datetime значения для текста с помощью char, cellstr, или string функции.
Ограничения, применимые к классам, также применяются к datetime массивы. Для получения дополнительной информации см. Определение классов MATLAB для генерации кода (кодер MATLAB).