How to accept time from the user into a matrix?

2 ビュー (過去 30 日間)
Febin Benjamin
Febin Benjamin 2014 年 6 月 28 日
コメント済み: Azzi Abdelmalek 2014 年 6 月 28 日
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 件のコメント
Febin Benjamin
Febin Benjamin 2014 年 6 月 28 日
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

サインインしてコメントする。

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 6 月 28 日
d=input('choose 3 time in this form 8:00 8:30 9:00 ','s')
e=datenum(regexp(d,'\S+','match'))
  2 件のコメント
Febin Benjamin
Febin Benjamin 2014 年 6 月 28 日
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).
Azzi Abdelmalek
Azzi Abdelmalek 2014 年 6 月 28 日
No , he can enter any number of time he wants, just choose your message

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDates and Time についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by