Date conversion in a number format

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.

 采纳的回答

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]

更多回答(1 个)

datestr(datevec('03/06/2014 11:39:04.324 PM', 'MM/DD/YYYY hh:mm:ss.fff PM'), 'YYYYMMDDhhmmssfff')

2 个评论

You could also use datenum instead of datevec but I think datevec should be more resistant to round-off.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Time Series Objects 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by