exponenta event banner

Обмен кодом и данными между языками

Запись не зависящего от языка кода даты и времени

Следуйте этим рекомендациям при совместном использовании кода, который обрабатывает даты и время с пользователями MATLAB ® в других языках. Эти методы гарантируют, что один и тот же код создает один и тот же выходной экран и что выходные файлы, содержащие даты и время, правильно считываются в системах в разных странах или с различными языковыми настройками.

Создание не зависящих от языка значений datetime. Таким образом, создайте значения datetime, использующие номера месяцев, а не имена месяцев, например 01 вместо января. Избегайте использования имен дней недели.

Например, выполните следующие действия:

t = datetime('today','Format','yyyy-MM-dd')
t = datetime
   2021-01-26

вместо этого:

t = datetime('today','Format','eeee, dd-MMM-yyyy')
t = datetime
   Tuesday, 26-Jan-2021

Отображение часа с помощью 24-часовой записи часов, а не 12-часовой записи часов. Используйте 'HH' идентификаторы при указании формата отображения значений datetime.

Например, выполните следующие действия:

t = datetime('now','Format','HH:mm')
t = datetime
   18:16

вместо этого:

t = datetime('now','Format','hh:mm a')
t = datetime
   06:16 PM

При указании формата отображения информации о часовом поясе используйте Z или X идентификаторы вместо нижнего регистра z во избежание создания имен часовых поясов, которые могут не распознаваться в других языках или регионах.

Назначение часового пояса t.

t.TimeZone = 'America/New_York';

Укажите не зависящий от языка формат отображения, включающий часовой пояс.

t.Format = 'dd-MM-yyyy Z'
t = datetime
   26-01-2021 -0500

При совместном использовании файлов, но не кода, во время работы в MATLAB не требуется писать код, не зависящий от языка. Однако при записи в файл убедитесь, что любой текст, представляющий даты и время, не зависит от языка. Затем другие пользователи MATLAB могут легко считывать файлы, не указывая языковой стандарт для интерпретации данных даты и времени.

Запись дат на других языках

Укажите подходящий формат для текста, представляющего даты и время при использовании char или cellstr функции. Например, преобразуйте два значения datetime в массив ячеек символьных векторов с помощью cellstr. Укажите формат и язык для представления дня, месяца и года каждого значения даты и времени в виде текста.

t = [datetime('today');datetime('tomorrow')]
t = 2x1 datetime
   26-Jan-2021
   27-Jan-2021

S = cellstr(t,'dd. MMMM yyyy','de_DE')
S = 2x1 cell
    {'26. Januar 2021'}
    {'27. Januar 2021'}

S - массив ячеек символьных векторов, представляющих даты на немецком языке. Можно экспортировать S к текстовому файлу для использования с системами в de_DE языковой стандарт.

Читать даты на других языках

Текстовые файлы, содержащие даты и время, можно читать на языке, отличном от языка, используемого MATLAB ®, который зависит от языка системы. Используйте textscan или readtable функции с помощью DateLocale аргумент пары имя-значение для указания языкового стандарта, в котором функция интерпретирует даты в файле. Кроме того, может потребоваться указать кодировку файла, содержащего символы, которые не распознаются кодировкой компьютера по умолчанию.

  • При чтении текстовых файлов с помощью textscan , укажите кодировку файла при открытии файла с помощью fopen. Кодировка является четвертым входным аргументом для fopen.

  • При чтении текстовых файлов с помощью readtable , используйте FileEncoding аргумент пары имя-значение для указания кодировки символов, связанной с файлом.

См. также

| | | |