【问题标题】:Datenum error when midnight is 0午夜为 0 时的 Datenum 错误
【发布时间】:2012-02-06 09:41:46
【问题描述】:

我有以下格式的时间数据:

    2340
    2350
       0
      10
      20
      30

我正在使用 datenum 来绘制它(我还有一个带有日期的向量)但是当时间为“0”时,我从 datenum 中得到一个错误。如果我手动将 0 更改为 000,它可以工作,但我有很多数据,我希望它自动执行此操作。有任何想法吗? 我使用的时间格式是“HHMM” 谢谢!

【问题讨论】:

  • 当你说“2340 2350 0 10 20 30”时,你能更明确地说每个数字应该代表什么吗?
  • 如果您发布了一个小代码示例,该示例可以显示您正在运行的究竟是什么导致了问题,这也会有所帮助。
  • 你重新格式化了,但你没有提到每个数字应该代表什么。在您的示例中,每个数字是没有填充的小时数(即 2350 是 1150 pm,10 是 1210 am?

标签: matlab date


【解决方案1】:

如果你的数据是char数组,可以把所有空格都转为0,然后运行datenum

xstr(xstr==' ') = '0';
xtime = datenum(xstr,'HHMM')

如果数据是字符串元胞数组,您可以将其转换为 char 数组并执行相同操作:

xstr = strjust(char(xcell),'right');
%# continue as above

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 2021-01-13
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多