How to display datetime value or duration value in Edit Fields (Numeric or String)
27 次查看(过去 30 天)
显示 更早的评论
I have two timestamps that I will like to display on my app created by App Designer. One is in datetime format and the other in duration. Now, I have tried using both the numeric edit field and the string edit field but I get the same error message.
Error using matlab.ui.control.EditField/set.Value (line 98)
'Value' must be a character vector or a string scalar.
Any ideas? Thanks!
0 个评论
回答(2 个)
dpb
2022-6-28
Well, yes, do what the error says -- convert the datetime and/or duration to string representation.
>> dt=datetime(datestr(now)); % create a datetime variable
>> datestr(dt)
dt =
'28-Jun-2022 09:27:41'
>>
The format is/can be set by the 'Format' property of the datetime variable as desired.
>> du=timeofday(datetime(datestr(now))); % for duration
>> string(du)
du =
"09:30:52"
>> char(du)
du =
'09:32:08'
>> cellstr(du)
du =
1×1 cell array
{'09:32:19'}
>> datestr(du)
ans =
' 9:30 AM'
>> timeofday(datetime(datestr(now)))
>>
your choice -- NB: datestr on the duration doesn't preserve the leading zero with the default formatting.
0 个评论
Adi Purwandana
2023-2-27
I think the problem haven't been solved yet. Ive got the same problem. I need to get the difference/duration between two dates (up to hour, minute and seconds, not only day). It seems that app designer accomodates only "date picker" (mm/dd/yyy only, while hour-minute-seconds have been ignored). Anyone know this issue?
2 个评论
Steven Lord
2023-2-27
Subtract the two datetime arrays.
dt1 = datetime('now')
dt2 = datetime(2023, 2, 27, 16, 25, 36)
du = dt2-dt1
Convert the resulting duration to a string.
str = string(du)
or split it into its component parts.
[h, m, s] = hms(du)
Use str, h, m, and/or s to create the data for your edit box.
dpb
2023-2-27
@Steven Lord, I think the point @Adi Purwandana is stuck over is there isn't a user control to set time in app designer; how's the user to get the time iftself into the application to start with?
Looks like it's a "roll your own" issue to build...
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Calendar 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!