Matlab调出月份,将日期转换为最接近的月末日期MATLAB

我之前的版本中有一些错误.这是结合到函数中的逻辑.它还会检查月份并相应地进行更新.

function out = roundMonth(dateNumber)

dateVector = datevec(dateNumber);

day = dateVector(3);

month = dateVector(2);

year = dateVector(1);

month = month + sign(day - 15 + double(~(month-2)))...

+ double(~(day-15 + double(~(month-2))));

dateVector(1) = year + double((month-12)==1) - double((1-month)==1);

dateVector(2) = mod(month,12) + 12*double(~mod(month,12));

out = datestr(dateVector,'mmm yyyy');

例子:

1.

roundMonth(datenum('10-Oct-2010'))

ans =

Sep 2010

2.

roundMonth(datenum('20-Oct-2010'))

ans =

Nov 2010

3.

roundMonth(datenum('20-Dec-2010'))

ans =

Jan 2011

4.

roundMonth(datenum('10-Jan-2010'))

ans =

Dec 2009

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值