Следуйте этим рекомендациям при совместном использовании кода, который обрабатывает даты и время с пользователями 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 аргумент пары имя-значение для указания кодировки символов, связанной с файлом.