[英]Reading dates from a csv file giving wrong date
I have a csv file with a column of dates in the format dd/mm/yyyy HH:MM.我有一个 csv 文件,其中有一列日期,格式为 dd/mm/yyyy HH:MM。 The first entry has '28/06/2017 17:10'.
第一个条目是“28/06/2017 17:10”。 Excel for some reason displays this as 28/06/2017 5:10:00 PM.
由于某种原因,Excel 将其显示为 28/06/2017 5:10:00 PM。 I want to read this column in matlab and output it in the format dd-mmmm-yyyy HH:MM:SS.
我想在matlab中读取此列并以dd-mmmm-yyyy HH:MM:SS格式输出。 I get a strange date for the ouptut in each column, with the first entry being: '12-August-0033 17:10:00', but the time is fine.
我在每列中得到一个奇怪的输出日期,第一个条目是:'12-August-0033 17:10:00',但时间很好。
The dates begin in column 2, row 2 of my csv file.日期从我的 csv 文件的第 2 列第 2 行开始。
[num,txt,raw] = xlsread('winter_cruise_2017_10min_avg.csv');
formatIn = 'dd/mm/yyyy HH:MM';
A = datestr(raw(2:end,2),formatIn);
formatOut = 'dd-mmmm-yyyy HH:MM:SS';
B = datestr(A,formatOut);
For a winter_cruise_2017_10min_avg.csv
containing:对于
winter_cruise_2017_10min_avg.csv
包含:
28/06/2017 17:10,
You can use datetime
to interpret it correctly:您可以使用
datetime
来正确解释它:
%% Load data
[num,txt,raw] = xlsread('winter_cruise_2017_10min_avg.csv');
%% Interpret text:
formatIn = 'dd/MM/yyyy HH:mm:ss'; % Corrected!
A = datetime(raw, 'InputFormat', formatIn);
%{
A =
datetime
28-Jun-2017 17:10:00
%}
%% Reformat datetime
formatOut = 'dd-mmmm-yyyy HH:MM:SS';
B = datestr(A,formatOut);
%{
B =
'28-June-2017 17:10:00'
%}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.