matlab 时间 小数,如何在matlab时间序列对象中表示秒的小数部分?

这应该做的工作(特别是在 R2014a and earlier ):

str = '12-Apr-2015 11:22:23.123';

num = datenum(str,'dd-mmm-yyyy HH:MM:SS.FFF'); % string -> serial

str = datestr(num,'dd-mmm-yyyy HH:MM:SS.FFF'); % serial -> string

Starting from R2014b 有一个更好的时间/日期数据实现 . 因此,您可以使用 datetime 对象 .

str = '12-Apr-2015 11:22:23.123';

obj = datetime(str,'InputFormat','dd-MMM-yyyy hh:mm:ss.SSS');

obj.Format = 'dd-MMM-yyyy hh:mm:ss.SSS';

With timeseries-objects ,您必须输入序列化日期(在本例中为变量 num ),因为对于 timeseries -objects的毫秒,字符串没有有效的输入格式 .

% your strings

dateStr = ['01-Mar-2008 18:28:51.810';

'01-Mar-2008 18:29:05.646';

'01-Mar-2008 18:29:07.376';

'01-Mar-2008 18:29:09.105';

'01-Mar-2008 18:29:10.835'];

% string -> serial

dateNum = datenum(dateStr,'dd-mmm-yyyy HH:MM:SS.FFF'); % string -> serial

% serial -> string (uncomment to see if the serialized version is ok

%dateStr2 = datestr(dateNum,'dd-mmm-yyyy HH:MM:SS.FFF');

% generate sample data

x = ones(length(dateNum),1);

% create timeseries-object

tsobject = timeseries(x, dateNum, 'name', 'X-ord');

% display time in timeseries-object with defined format

datestr(tsobject.Time(:),'dd-mmm-yyyy HH:MM:SS.FFF')

返回:

ans =

01-Mar-2008 18:28:51.810

01-Mar-2008 18:29:05.646

01-Mar-2008 18:29:07.376

01-Mar-2008 18:29:09.105

01-Mar-2008 18:29:10.835

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值