I have an array of date time values. How do I separate Date and time and enter it in separate columns in excel?

11 views (last 30 days)
My Output is a 17 x 1 cell array of date series eg:
'19-Apr-2016 11:29:31'
'27-Apr-2016 00:05:59'
'31-Mar-2016 18:35:46'....etc
I would like to separate the date and time formats and display date alone in a column in excel and time alone in another column in excel spreadsheet. Please help me with the same.

Accepted Answer

Kevin
Kevin on 5 May 2016
>> d = datetime({'19-Apr-2016 11:29:31'; '27-Apr-2016 00:05:59'; '31-Mar-2016 18:35:46'})
d =
19-Apr-2016 11:29:31
27-Apr-2016 00:05:59
31-Mar-2016 18:35:46
>> d.Format = 'dd-MMM-yyyy';
>> column1 = cellstr(d) % Cell array of strings.
column1 =
'19-Apr-2016'
'27-Apr-2016'
'31-Mar-2016'
>> d.Format = 'hh:mm:ss';
>> column2 = cellstr(d) % Cell array of strings.
column2 =
'11:29:31'
'00:05:59'
'18:35:46'
  3 Comments
William D
William D on 9 Feb 2018
I am not sure if it is due to this being posted for an older version of Matlab; however, on Matlab 2017b, in order obtain the time output in a 24h format the following syntax must be used:
>> d.Format = 'HH:mm:ss';
Reference the following link for more variations:
https://www.mathworks.com/help/matlab/ref/datetime.html
properties -> format - display format -> All Date and Time formats
Steph
Steph on 11 Feb 2019
Kevin's code did not produce the desired results in 2017b for 24 hour format. William's correction worked for 24 hr format in 2017b.

Sign in to comment.

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 5 May 2016
Edited: Azzi Abdelmalek on 5 May 2016
v={'19-Apr-2016 11:29:31'
'27-Apr-2016 00:05:59'
'31-Mar-2016 18:35:46'}
w=regexp(v,'\s+','split')
out=reshape([w{:}],2,[])'

Community Treasure Hunt

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

Start Hunting!