Parsing variable in table
5 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a 3x1 table, with one variable, timestamp:
timestamp
2021-02-01 09:00:00
2021-02-01 09:01:00
2021-02-01 09:02:00
How can I parse this to create a 3x2 table, with two variables, date and time:
date time
2021-02-01 09:00:00
2021-02-01 09:01:00
2021-02-01 09:02:00
Any help would be appreciated!
IP
2 个评论
Stephen23
2022-11-17
编辑:Stephen23
2022-11-17
Note that changing the FORMAT does not changes the actual date/time values stored in the DATETIME object, it only changes how the DATETIME object looks when displayed or converted to text.
If you actually want to have the data consist only of the date and time values separately, then use DATESHIFT and TIMEOFDAY.
采纳的回答
Star Strider
2022-11-17
编辑:Star Strider
2022-11-17
Try something like this —
T1 = table(datetime(['2021-02-01 09:00:00'
'2021-02-01 09:01:00'
'2021-02-01 09:02:00']), 'VariableNames',{'timestamp'})
date = T1.timestamp;
time = T1.timestamp;
date.Format = 'yyyy-MM-dd';
time.Format = 'HH:mm:ss';
T1 = addvars(T1,date,time);
T1 = removevars(T1,'timestamp')
There may also be other ways to do this.
EDIT — (17 Nov 2022 at 13:16)
I was not certain what you wanted.
Try this —
T1 = table(datetime(['2021-02-01 09:00:00'
'2021-02-01 09:01:00'
'2021-02-01 09:02:00']), 'VariableNames',{'timestamp'})
[y,m,d] = ymd(T1.timestamp); % Year, Month, Day Only
date = datetime([y,m,d]); % Convert Back To 'datetime'
time = timeofday(T1.timestamp); % Time Of Day Only
T1 = addvars(T1,date,time);
T1 = removevars(T1,'timestamp')
.
4 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dates and Time 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!