transforming two date vectors
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Dear all,
I have
A={
'2/11/2008'
'30/11/08'
'28/12/08'
'25/01/09'
'22/02/09'
'22/03/09'
'19/04/09'
'17/05/09'
'14/06/09'
'12/7/2009'
'9/8/2009'
'6/9/2009'
'4/10/2009'
'1/11/2009'
'29/11/09'
'27/12/09'
'31/01/10'
'28/02/10'
'28/03/10'
'25/04/10'
'23/05/10'
'20/06/10'
'18/07/10'
'15/08/10'
'12/9/2010'}
and
B={
'1/4/2009'
'2/1/2009'
'3/1/2009'
'4/5/2009'
'5/3/2009'
'5/31/2009'
'7/5/2009'
'8/2/2009'
'8/30/2009'
'10/4/2009'
'11/1/2009'
'11/29/2009'
'1/3/2010'
'1/31/2010'
'2/28/2010'
'4/4/2010'
'5/2/2010'
'5/30/2010'
'7/4/2010'
'8/1/2010'
'8/29/2010'
'10/3/2010'
'10/31/2010'
'11/28/2010'
'1/2/2011'
'1/30/2011'
'2/27/2011'
'4/3/2011'
'5/1/2011'
'5/29/2011'
'7/3/2011'
'7/31/2011'
'8/28/2011'
'10/2/2011'
'10/30/2011'
'11/27/2011'
'1/4/2009'
'2/1/2009'}
Sometimes I have either vector A or vector B. I want to find a unified code that will convert these vectors to the format dd/mm/yy irrespective of whether I have A or B
thanks
3 Kommentare
Matt Fig
am 7 Aug. 2012
So you can guarantee that every set of dates will have at least one day D where D>12? You did not specify that in the original statement, but it is good to know!
Akzeptierte Antwort
Andrei Bobrov
am 7 Aug. 2012
a = regexp(DateInput,'(^\d*)(?=/)','match');
if any(str2double(cat(1,a{:}))>12)
dfmt = 'dd/mm/yyyy';
else
dfmt = 'mm/dd/yyyy';
end
0 Kommentare
Weitere Antworten (1)
per isakson
am 6 Aug. 2012
Bearbeitet: per isakson
am 6 Aug. 2012
Try
cac = cellfun( @(str) transpose( sscanf( str, '%d/%d/%*d' ) ) ...
, A, 'uni', false );
num = cell2mat( cac );
isd = any( num >= 13, 1 );
if all( not( isd ) )
msg = 'Cannot decide';
elseif all( isd )
msg = 'Illegal date';
elseif isd(1)
msg = 'day first';
elseif isd(2)
msg = 'month first';
else
msg = 'Error in code';
end
1 Kommentar
per isakson
am 6 Aug. 2012
To avoid the long line I edited and introduced an error, which is now fixed.
Siehe auch
Kategorien
Mehr zu Time Series Objects finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!