首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab数据生成

Matlab数据生成
EN

Stack Overflow用户
提问于 2011-05-04 07:49:42
回答 1查看 1.6K关注 0票数 0

我使用dtstr2dtnummx是因为这样更快,但是我遇到了一个问题,这个函数生成一个不同的日期,或者我的日期格式不正确

日期= {'2011-03-13 23:59:59.100'} out1 =datenum(日期) Out2=dtstr2dtnummx(日期,‘yyyy dd HH:MM:SS.SSS')

产出如下:

日期= “2011-03-13 23:59:59.100” out1 = 734575.999989583 out2 = 736281.960423495

我不知道错误在哪里

更新

我找到了一个答案,用下面的日期格式我得到了相同的结果

Dtstr2dtnummx(日期,'YYYY-MM-dd HH:mm:ss.SSS')

但是我不知道为什么会这样,因为我遵循了教程,但是我得到了错误的输出,如果有人知道答案,请分享。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-04 11:35:11

datenumdtstr2dtnummx使用不同的格式字符串:datenum调用cnv2icudf将"date format令牌转换为ICU日期格式令牌“(请参阅help cnv2icudf)用于dtstr2dtnummx。注意,这包括将大写和小写替换为MM (互换月份和分钟)。换句话说,您使用datenum的文档为dtstr2dtnummx创建了一个格式字符串,该字符串是无文档和私有的。

要获得要使用的正确格式字符串,可以调用

代码语言:javascript
复制
cnv2icudf('yyyy-mm-dd HH:MM:SS.FFF')

结果是

安= yyyy MM-dd HH:mm:ss.SSS

这和你自己找到的解决方案很接近。

经验教训:dtstr2dtnummx是一个私有函数是有原因的--在您理解包装器datenum之前不要调用它;-)。

顺便问一句,出于好奇:你真的剖析了你的代码,发现datenum是罪魁祸首吗?

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5880242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档