Date conversion in a number format
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hey guys
I have an excel file with the date format like this: '03/06/2014 11:39:04.324 PM' I want to convert this date format into (yyyymmddhhmmssSSS)20140306233904324. If the time is PM, then the hour should be in the format of 24 hours. Thanks in advance.
0 Commenti
Risposta accettata
Chandrasekhar
il 27 Mar 2014
clc
str = '03/06/2014 11:39:04.324 PM';
[date,rem] = strtok(str,'/');
[month,rem]= strtok(rem,'/');
[year,rem]=strtok(rem,' ');
year = regexprep(year,'/','');
[hours,rem]=strtok(rem,':');
hours = regexprep(hours,' ','');
[mins,rem] = strtok(rem,':');
[sec,rem]=strtok(rem,'.');
sec = regexprep(sec,':','');
[msec,rem]= strtok(rem,' ');
[msec,y] = strtok(msec,'.');
if(strcmp(rem,' PM'))
hours = str2num(hours);
hours = hours+12;
hours = num2str(hours);
end
totaltime = [year date month hours mins sec msec]
0 Commenti
Più risposte (1)
Walter Roberson
il 27 Mar 2014
datestr(datevec('03/06/2014 11:39:04.324 PM', 'MM/DD/YYYY hh:mm:ss.fff PM'), 'YYYYMMDDhhmmssfff')
2 Commenti
Walter Roberson
il 27 Mar 2014
You could also use datenum instead of datevec but I think datevec should be more resistant to round-off.
Vedere anche
Categorie
Scopri di più su Dates and Time in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!