Adding hours to time

5 ビュー (過去 30 日間)
Kwan Zhao Jie
Kwan Zhao Jie 2018 年 4 月 17 日
コメント済み: Kwan Zhao Jie 2018 年 4 月 17 日
In my code, i want to state the current time and the time 8 hours later.
function pushbutton8_Callback(hObject, eventdata, handles)
t1 = datestr(now,'HH:MM Am')
t2 = datestr(now,'HH:MM Am') + 8
set(handles.Impt, 'String', sprintf('Your Working Hours will be from %s - %s\n', t1, t2));
the time that is shown in T1 is correct, however im unable to get the T2 value that i wanted. Im currently using MATLAB R2013B.

採用された回答

Walter Roberson
Walter Roberson 2018 年 4 月 17 日

datestr() returns a character vector. When you add 8 to it, you are taking the encoding of each character and adding 8 to that '0' becomes 56 ('8'), '1' becomes 57 ('9'), '2' becomes 58 (':'), '3' becomes 59 (';'), ... '9' becomes 65 ('A'), ':' becomes 66 ('B')..

If you want to add 8 hours:

datestr(addtodate(datenum(t1),8,'h'),'HH:MM Am')

You should also consider using datevec instead:

datestr(datevec(t1) + [0 0 0 8 0 0], 'HH:MM Am')
  1 件のコメント
Kwan Zhao Jie
Kwan Zhao Jie 2018 年 4 月 17 日
Thanks!

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDevelop Apps Using App Designer についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by