How to convert a string data time to a number

Not sure if i am going about this the right way but here goes...
Originally trying to plot data from a table until I realized the data string format is incorrect i.e '10/08/2018 6:30:32 PM' Im assuming the function wont plot the character array hence I would need to convert the string to number format.
I extracted the column from a table and converted into a cell array...
if true
% Datestring = {converttime};
end
if true
% formatIn = '';
end
if true
% datenum(DateString,formatIn);
end
Im unsure what to put in the variable formatIn? Are you telling matlab to convert using a predefined number dateformat?
Appreciate some help with this.

Antworten (4)

madhan ravi
madhan ravi am 31 Okt. 2018

0 Stimmen

dt = datestr(now,'mmmm dd, yyyy HH:MM:SS.FFF AM') %an example
Star Strider
Star Strider am 31 Okt. 2018

0 Stimmen

Try this:
dn = datenum('10/08/2018 6:30:32 PM', 'dd/mm/yyyy HH:MM:SS AM')
q = datestr(dn) % Check Conversion

1 Kommentar

Responding to this Answer
The documentation is absolutely opaque on using scatter with table objects. I have a timetable, table and cell arrays (that I created from the same original timetable with information from another Question), and the only way I could get it to work was to use the cell array, and then concatenate it to a numeric array.
Here, the cell array is called ‘TT_C’, the first 2 columns are datetime objects, and the rest are numeric:
figure
scatter([TT_C{:,1}], [TT_C{:,9}])
grid
Perhaps others can get it to work with table objects. It eludes me.

Melden Sie sich an, um zu kommentieren.

Peter Perkins
Peter Perkins am 31 Okt. 2018

0 Stimmen

Don't use datenums. Convert your text to datetime:
>> datetime('10/08/2018 6:30:32 PM','InputFormat','MM/dd/yyyy hh:mm:ss a')
ans =
datetime
08-Oct-2018 18:30:32
and then just plot (at least in recent versions of MATLAB).
Dan Howard
Dan Howard am 31 Okt. 2018

0 Stimmen

I think I may have asked this answer incorrectly.. I have an table array with date/time in the format as e.g '10/08/2018 6:30:32 PM'
This is saved in a variable called dateamp which contains 258268*1 values.
Im trying to plot a scatter graph by using the dateamp table variable against another table variable which holds numeric values.
Quote me if i am wrong but do I need to convert the dateamp date/time format into a cell array to be able to plot the scatter graph?

1 Kommentar

If the variable in your table is a datetime, then no, at least in recent versions. I can't recall when scatter began datetime support. In any case, the plot function has since R2014b, and you can make a scatter plot with that.

Melden Sie sich an, um zu kommentieren.

Kategorien

Gefragt:

am 31 Okt. 2018

Kommentiert:

am 1 Nov. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by