How to accept time from the user into a matrix?

I want to accept (say)3 time elements for example 8:30, 8:20 & 8:00 from user and store it in an array using 'datenum'. How can i achieve that? Please help.

1 Comment

I have worked out my version here if anyone needs it in future.
dateNumArray = []; %// Store datenums here
%// Enter a blank line to quit this loop
while true
timestr = input('Enter a time: ', 's');
if (isempty(timestr))
break;
end
%// Split the string up at the ':'
splitStr = strsplit(timestr, ':');
%// Read in the current date as a vector
%// Format of: [Year, Month, Day, Hour, Minute, Second]
timeRead = clock;
%// Replace hours and minutes with user prompt
%// Zero the seconds
timeRead(4:6) = [str2num(splitStr{1}) str2num(splitStr{2}) 0];
%// Convert to datenum format
dateNumArray = [dateNumArray datenum(timeRead)];
end

Sign in to comment.

 Accepted Answer

d=input('choose 3 time in this form 8:00 8:30 9:00 ','s')
e=datenum(regexp(d,'\S+','match'))

2 Comments

Azzi does your code mean that user can input only 3 specified time elements i.e 8:00 8:30 9:00? No right? User should be able to enter any time (e.g. 4:45 5:56 8:00).
No , he can enter any number of time he wants, just choose your message

Sign in to comment.

More Answers (0)

Categories

Products

Community Treasure Hunt

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

Start Hunting!