how to read day of the year as datetime ?
13 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
pruth
le 25 Juil 2020
Réponse apportée : Star Strider
le 25 Juil 2020
I have vector of dates, it looks like this
2019001
2019002
.
.
.
2019364
2019365
2019 is year and next number is day of the year.
anybody tell me how to use datenum or datetime here !
I have around 3 years of dara.
0 commentaires
Réponse acceptée
per isakson
le 25 Juil 2020
Modifié(e) : per isakson
le 25 Juil 2020
>> chr = sprintf( '%d', 2019364 );
>> sdn = datenum(str2double(chr(1:4)),1,0)+str2double(chr(5:end));
>> datetime( sdn, 'ConvertFrom', 'datenum' )
ans =
datetime
30-Dec-2019 00:00:00
>>
Added later
%%
d = [ 2019001; 2019002; 2019364; 2019365 ];
%%
chr = num2str( d );
chr = strjust( chr, 'left' );
sdn = datenum( str2num(chr(:,1:4)), 1, 0 ) + str2num(chr(:,5:end));
dt = datetime( sdn, 'ConvertFrom', 'datenum' )
Outputs
dt =
4×1 datetime array
01-Jan-2019 00:00:00
02-Jan-2019 00:00:00
30-Dec-2019 00:00:00
31-Dec-2019 00:00:00
0 commentaires
Plus de réponses (2)
madhan ravi
le 25 Juil 2020
v = regexprep(""+vector,'(\d{4})(\d+)','00/$2/$1');
Wanted = datetime(datestr(v))
2 commentaires
madhan ravi
le 25 Juil 2020
Days_in_a_year = double(regexprep(v, '(\d+)/(\d+)/(\d+)', '$2'))
madhan ravi
le 25 Juil 2020
For older versions:
v = regexprep(sprintfc('%d',vector),'(\d{4})(\d+)','00/$2/$1'); % sprintfc() undocumented
Wanted = datetime(datestr(v))
Days_in_a_year = str2double(regexprep(v, '(\d+)/(\d+)/(\d+)', '$2'));
Star Strider
le 25 Juil 2020
Another approach:
ydv = [2019001
2019002
2019364
2019365]; % ‘YearDay’ Vector
Years_Days = datetime(num2str(fix(ydv/1000)), 'InputFormat','yyyy') + caldays(rem(ydv,1000)-1)
producing:
Years_Days =
4×1 datetime array
01-Jan-2019
02-Jan-2019
30-Dec-2019
31-Dec-2019
Use the 'Format' name-value pair to get the desired output format. The easiest way to do that (for one example) is simply:
Years_Days.Format = 'yyyy-MM-dd';
to get:
Years_Days =
4×1 datetime array
2019-01-01
2019-01-02
2019-12-30
2019-12-31
.
0 commentaires
Voir également
Catégories
En savoir plus sur Dates and Time dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!