MATLAB中的多种日期格式

Lit*_*les 3 matlab datetime date-formatting

在MATLAB中格式化日期时间,datetrings和datenums时,有两种不同的方式表示分钟和月份,分别为M和m或m和M. 具体来说,当您使用datestr时使用它与使用datetime时不同.这是一个例子,

startdate='01/05/2015 12:35:22';
startdt=datetime(startdate,'InputFormat','dd/MM/yyyy HH:mm:ss');
startstr=datestr(startdt,'dd/mm/yyyy HH:MM:SS');
Run Code Online (Sandbox Code Playgroud)

看看我们如何使用小写字母m表示月份和日期时间我们使用大写字母M表示月份.

为什么MATLAB具有适用于这些命令的不同日期格式?在我的代码中实现一致样式的日期格式的最佳方法是什么?

Sam*_*rts 7

在R2014b MathWorks公司推出的功能的新套件(基于各地datetime级)来处理日期和时间,这是为了用作大大改善了更换较旧的功能,如datestr,datenumdatevec.

旧功能的一个问题是它没有使用标准格式字符串来描述日期和时间格式.较新的功能可以正确执行,符合ISO 8601.它还对时区和区域设置,基于日历的持续时间和纳秒精度提供了适当的支持.

尽管如此,为了向后兼容,仍然保留了较旧的功能.在未来的MATLAB版本中,它们可能会逐渐逐步淘汰.通常的过程是,对于几个版本,它们会引发(可抑制的)警告,表明您可能希望修改代码以使用更新的功能; 然后在几个版本之后它们将被删除(这最终会导致代码仍然使用它们来发生错误).

我建议如果您正在编写新代码,那么您将完全坚持使用基于的功能datetime.如果您要修改现有代码,请尝试在选择中保持一致,但在适当时逐渐将代码迁移到较新的功能.