user3575908
user3575908

Reputation: 39

Matlab and excel timestamp with datenum

At the moment I am using xlsread to open a set of data that I have in excel with given timestamps. But when these values are placed in matlab it changes the formatting of the timestamp. In excel it is: dd/mm/yyyy HH:MM

but when it puts it into matlab it changes it to

mm/dd/yyyy HH:MM

which ruins my other code. I have tried using formatIn and specifying it, but then it returns an error if no value for midnight is given.

Any help would be appreciated.

Upvotes: 0

Views: 571

Answers (2)

Dennis Jaheruddin
Dennis Jaheruddin

Reputation: 21563

What Luis recommended should help you to get any format that you like. However there is something important to realize here:

Excel does not 'have' the date in your format. It has the date stored as a number like 123546.123 and presents it to you in a certain way.

If you want to get the date in exactly the way that excel presents it, the trick is to avoid importing the relevant column as a date, but just import it as text instead.

How to do this depends on your import method, but it should not be very hard.

Upvotes: 0

Luis Mendo
Luis Mendo

Reputation: 112749

You can use datenum and datestr to convert the format to what you want. In the following example I'm assuming your timestamps are contained in a cell array of strings, but it also works if it's a char matrix:

>> timestamps = {'08/25/2014 13:14'; '08/26/2014 14:15'} %// mm/dd/yyyy HH:MM
>> result = datestr(datenum(timestamps, 'mm/dd/yyyy HH:MM'), 'dd/mm/yyyy HH:MM')
result =
25/08/2014 13:14
26/08/2014 14:15

Upvotes: 1

Related Questions