convert array string data in array serial number

1 view (last 30 days)
this example clarify my problem
>> size(B)
ans =
463628 1
>> B(1)
ans =
"01/01/2008"
>> datenum(B(1,:),'dd/mm/yyyy')
ans =
733408
>> datenum(B,'dd/mm/yyyy')
Error using datenum
DATENUM failed.
Caused by:
Error using dtstr2dtnummx
Failed to convert from text to date number.
i can convert the single string but not the array of strings
  6 Comments
Stephen23
Stephen23 on 23 May 2023
Edited: Stephen23 on 23 May 2023
"What do you recommend if I have empty array elements?"
Use DATETIME instead of deprecated DATENUM:
B = ["01/01/2008";""]
B = 2×1 string array
"01/01/2008" ""
D = datetime(B, "InputFormat","dd/MM/yyyy")
D = 2×1 datetime array
01-Jan-2008 NaT
Luca Re
Luca Re on 23 May 2023
yes but i want do preallocate it
is it correct to do it like this? (i need 5600 element in this matrix and I have to assign values ​​read from .txt
dataan=NaT(righe,colum);

Sign in to comment.

Answers (1)

Steven Lord
Steven Lord on 23 May 2023
Unless you're using an older release where it is not available I strongly recommend you use datetime instead of serial date numbers. Note I've changed your B slightly to make it clear that datetime is importing it correctly, not confusing the day and month information.
B = "02/03/2008";
dt = datetime(B, "InputFormat", "dd/MM/yyyy")
dt = datetime
02-Mar-2008
With a datetime array a lot of operations are easier and easier to interpret than with a list of date numbers. As an example, what's the day after dt?
nextDay = dt + days(1)
nextDay = datetime
03-Mar-2008
  3 Comments
Stephen23
Stephen23 on 23 May 2023
Edited: Stephen23 on 23 May 2023
"i've problem to use it"
It will work when you read and follow the DATETIME documentation or the example that Steve Lord showed you. Why did you change the syntax to something completely different?
S = "01/01/2008";
D = datetime(S, 'InputFormat','dd/MM/yyyy')
D = datetime
01-Jan-2008
Luca Re
Luca Re on 23 May 2023
thanks..I mess around a bit with these formats

Sign in to comment.

Categories

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!