主要内容

跨区域共享代码和数据

编写Locale-Independent日期和时间代码

遵循这些最佳实践分享代码时处理日期和时间与MATLAB®用户在其他地区。这些实践确保相同的代码生成相同的输出显示,输出文件包含日期和时间正确地读取系统在不同的国家或不同的语言设置。

创建独立于语言的datetime值。即,创建datetime值使用数字而不是月的名字,如01而不是1月。避免使用天一周的名字。

例如,这样做:

t = datetime (“今天”,“格式”,“yyyy-MM-dd”)
t =datetime2022-08-31

而不是:

t = datetime (“今天”,“格式”,“eeee, dd-MMM-yyyy”)
t =datetime周三,2022年- 8月31日

显示小时使用24小时时钟符号而不是12小时时钟表示法。使用“HH”标识符指定datetime值的显示格式。

例如,这样做:

t = datetime (“现在”,“格式”,“HH: mm”)
t =datetime03:23

而不是:

t = datetime (“现在”,“格式”,“hh: mm一个”)
t =datetime上午03:23

当指定时区信息的显示格式,使用ZX标识符而不是小写z为了避免创建时区名称可能不被其他语言或区域。

分配一个时区t

t。时区=“美国/ New_York”;

指定一个独立于语言的显示格式,包括一个时区。

t。格式=“dd-MM-yyyy Z”
t =datetime31-08-2022 -0400

如果您共享文件而不是代码,您不需要编写locale-independent代码当你在MATLAB中工作。然而,当你写一个文件,确保任何代表日期和时间是独立于语言的文本。然后,其他MATLAB用户可以读取文件很容易,而无需指定一个语言环境来解释日期和时间数据。

用其他语言写日期

指定一个适当的格式文本表示日期和时间,当你使用字符cellstr功能。例如,两个datetime值转换为一个单元阵列特征向量cellstr。指定的格式和地区代表天,月,年的每个datetime值为文本。

t = [datetime (“今天”);datetime (“明天”)]
t =2 x1 datetime31日- 8月- 2022年01 - 9 - 2022
S = cellstr (t,“弟弟。嗯yyyy”,“de_DE”)
S =2 x1细胞{“31。2022年8月的}{01。2022年9月的}

年代是一个单元阵列特征向量代表日期在德国。您可以导出年代到一个文本文件使用的系统de_DE语言环境。

在其他语言中读日期

你可以阅读文本文件包含日期和时间在MATLAB语言以外的语言®使用,这取决于您的系统语言环境。使用textscanreadtable功能与DateLocale名称-值对参数指定地区的功能解释文件中的日期。此外,您可能需要指定一个文件,其中包含的字符编码字符不认可你的电脑的默认编码。

  • 读取文本文件时使用textscan函数,指定文件编码,当打开文件打开外部文件。编码是第四个输入参数打开外部文件

  • 读取文本文件时使用readtable功能,使用FileEncoding名称-值对参数来指定字符编码的文件。

另请参阅

||||