Change the format of all Datetime variables in a Table
49 次查看(过去 30 天)
显示 更早的评论
Is there any way to change the format of all the datetime variables in a table?
Var1 = datetime({'2015-12-18 08:03:05';'2015-12-18 10:03:17'});
Var2 = [20; 90]
Var3 = datetime({'2016-12-18 00:03:00';'2017-12-28 12:11:00'});
T = table(Var1, Var2, Var3);
S = vartype('datetime')
T{:,S}.Format = 'dd/MM/yyyy' %This does not work
What I would like to achieve is the result obtained from the following:
T.Var1.Format = 'dd/MM/yyyy'
T.Var3.Format = 'dd/MM/yyyy'
The thing though is that I am looping over different tables T, and at some iterations either (or both) Var1 and Var3 can be empty. Therefore, doing the latter method (i.e. setting the format of each variable individually) returns an error: Unable to perform assignment because dot indexing is not supported for variables of this type. Also, I have a lot more variables, so I would like to avoid if-isempty()-statements. Hence, I was wondering if there is a way to change the format of a few selected variables (-datetimes-) at once.
0 个评论
采纳的回答
Walter Roberson
2020-10-13
编辑:Adam Danz
2023-5-8
T = convertvars(T, @isdatetime, @(t) datetime(t, 'Format', 'dd/MM/yyyy'))
I tested to confirm that passing a datetime object as the parameter to datetime() can be used to construct new objects with different properties.
4 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!