Matlab对日期变量和时间变量的管理

Matlab2012a内置了三个函数

  • datanum
  • datevec
  • datestr

靠这三个函数,可以基本实现日期变量和时间变量的管理。下面直接来看。

(1)datanum

这个函数用来将字符串,日期矢量转为通用日(数值型)。所谓的通用日就是指可以进行加减运算的日期。

dn = datenum('2023-4-26')

运行这个命令,可以得到dn=739002。这个数就唯一的代表了2023年4月26日。当然,这个式子也可以带上时间,比如:

dn = datenum('2023-4-26 00:00:00')

运行后,还是得到dn=739002。如果给个具体时间:

dn = datenum('2023-4-26 10:30:00')

那么就得到dn=739002.4375。后面的小数就代表了10点半对应的日期部分了,是不到半天。这里是24小时制的。如果给12:00:00,那么小数就变为0.5。

dn = datenum('2023-4-26 12 00 00','yyyy-mm-dd HH MM SS')

datenum函数之前的输入日期的形式是很多样的,除了给字符串,还可以直接给日期数字。也可以指定特定格式的日期字符串。比如:

dn = datenum(2023,4,1)
dn = datenum(2023,4,1,0,0,0)

则都会输出dn=738977。利用这个可以计算两个日期相差的天数,比如:

dn = datenum(2023,3,1)-datenum(2023,2,1)
dn = datenum(2023,4,1)-datenum(2023,3,1)

答案分别是28和31,如果带上时间,则可以更精确:

dn = datenum(2023,3,1,12,0,0)-datenum(2023,2,1,6,0,0)

答案是28.25,因为还多了1/4天。因此,datenum函数可用来做日期的加减计算,以及通用日的存储。

(2)datevec

这个函数用来得到日期矢量,就是年、月、日、时、分、秒,输入可以是刚才得到的通用日(数值型)。

dv = datevec(dn)

答案是: 0     1    28     6     0     0。因为刚才是相减了,所以这里年份变为0了。这个函数可以用来提取年、月、日、时、分、秒。

(3)datestr

这个函数用来生成日期字符串,比如:

ds = datestr(dn)

答案是:28-Jan-0000 06:00:00。这个日期字符串的格式也是可以自定义的:

注意:在转换时,还是发现了些小错误,使用时还是要引起注意。比如:用一次报错,再用又不报错了,不知道为什么。将HH:MM:SS用HH MM SS代替时,时间不对,不知道为什么,用的时候还是要多看。

这个函数在后续版本已经不建议使用了,后面出来个新的函数datetime,但2012a并没有。

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Intimes

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值