datenum on array of values - specifying the format

1 view (last 30 days)
I can't seem to specify the format for datenum when I passi an array of values.
Here is a snippet of my code:
formatIn = 'dd/mm/yyyy HH:MM';
X = readtable( fileRain );
datimR = datenum(X.DateTime_LT_,formatIn);
This returns an error:
Error using datetime/datenum
Too many input arguments.
Error in plot_rsam_rain (line 12)
datimR = datenum(X.DateTime_LT_,formatIn);
It works fine when I don't specify the format in the call to datetime, but the values are all wrong as it assumes 'mm/dd/yyyy'.
Any suggestions how I can get this to work.
  1 Comment
Lei Hou
Lei Hou on 18 Oct 2021
Hi Dormant,
May I know why you want to convert datetime to datenum? Now, it is more recommended to use the morden datatype datetime than datenum. Actually, datenum is put into discourage use.

Sign in to comment.

Answers (1)

Cris LaPierre
Cris LaPierre on 15 Oct 2021
Edited: Cris LaPierre on 15 Oct 2021
You do not need to enter a format if your data is already a datetime. The 'FormatIn' flag should only be used if your date is a string.
  • DateNumber = datenum(DateString,formatIn)
DateNumber = datenum(t) converts the datetime or duration values in the input array t to serial date numbers.


Find more on Dates and Time in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!

Translated by