我有一个包含8760个小时数据行的CSV文件,其中很多都有24:00的时间.似乎MATLAB不允许小时数为24(从0到23).我无法找到一种方法来解析时间24:00的行.
MATLAB示例(给出错误):
datetime('7/16/02 24:00','InputFormat','MM/dd/yy HH:mm')
Run Code Online (Sandbox Code Playgroud)
R中的相同示例(工作正常,即自动转换为7月17日,0:00):
as.POSIXct("7/16/02 24:00",format="%m/%d/%Y %H:%M")
Run Code Online (Sandbox Code Playgroud)
正如上面的评论中所讨论的,对于MATLAB中不同的日期相关函数,分钟和小时的格式似乎是不同的.可能的解决方案是与... datestr一起使用datetime.
与问题相同的MATLAB示例(现在可以使用):
datetime(datestr('7/16/02 24:00','mm/dd/yy HH:MM'),'InputFormat','MM/dd/yy HH:mm')
Run Code Online (Sandbox Code Playgroud)
结果:
ans = 17-Jul-2002 00:00:00
该函数datestr自动将日期转换为7月17日0:00,并将其传递给函数datetime.