exponenta event banner

Ограничения массива Datetime для создания кода

При создании 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 для создания кода.

См. также

|

Связанные темы