Creating a datetime variable - unconventionally

1 Ansicht (letzte 30 Tage)
Lewis Waswa
Lewis Waswa am 17 Mär. 2022
Kommentiert: Star Strider am 18 Mär. 2022
I have an excel sheet which has several columns including a date column of which I would like to create a datetime object from. The snippet of this data is as shown below.
I would like to create a datetime object such that shows the year and the month alone ( in this case 2003-January) with 48 intervals for each month - for the whole range of the year. It is more of replicating the 2003-January datetime 48 times and then moving next to 2003-February till when we reach December. Any help will be appreciated.

Akzeptierte Antwort

Star Strider
Star Strider am 17 Mär. 2022
Using months instead of minutes —
Date = {'200301'; '200306'; '200312'}
Date = 3×1 cell array
{'200301'} {'200306'} {'200312'}
DateDT = datetime(Date, 'InputFormat','yyyyMM')
DateDT = 3×1 datetime array
01-Jan-2003 01-Jun-2003 01-Dec-2003
DateDT.Format = 'yyyyMM'
DateDT = 3×1 datetime array
200301 200306 200312
.
  6 Kommentare
Lewis Waswa
Lewis Waswa am 18 Mär. 2022
Thank you @Star Strider. This works well.
Star Strider
Star Strider am 18 Mär. 2022
As always, my pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Arif Hoq
Arif Hoq am 17 Mär. 2022
As you did not attach your data. let's try with your first data
A='200301';
date=datetime(A,'InputFormat','yyyymm');
date2=datetime(date,'Format','yyyy-mm')
date2 = datetime
2003-01
then every 48 interval try this
T.Date(1:48:end,:) % if T is your table

Arif Hoq
Arif Hoq am 17 Mär. 2022
try this:
B=readtable('Data-E.xlsx');
C=B(1:48:end,:);
dat=string(table2cell(C(:,1)));
date = datetime(dat, 'InputFormat','yyyyMM');
date2=datetime(date,'Format','MMM-yyyy');
date3=rmmissing(date2);
  1 Kommentar
Arif Hoq
Arif Hoq am 17 Mär. 2022
or try this:
B=readtable('Data-E.xlsx');
C=B(1:48:end,:);
dat=string(table2cell(C(:,1)));
date = datetime(dat, 'InputFormat','yyyyMM');
date2=datetime(date,'Format','MMM-yyyy');
% [R,TF]=rmmissing(date2)
D=cellstr(date2)
[D Lia Lib]=unique(D,'rows','stable')
E=C(Lia,:)
E(13,:)=[] % deleting Nat value
value=string(table2cell(E(:,2:end)));
dat2=string(table2cell(E(:,1)));
date3 = datetime(dat2, 'InputFormat','yyyyMM');
date4=datetime(date3,'Format','MMM-yyyy');
T=timetable(date4,value) % final array

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Dates and Time finden Sie in Help Center und File Exchange

Produkte


Version

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by