2012-05-16 43 views
2

我用datestr732154.873773148轉移到26-Jul-2004 20:58:14,但是當我把它輸出中爲.csv文件,這將是一個1*20陣列...,但我想要的是將其存儲在一個1*1陣列,我應該怎麼辦?當我使用datestr時,如何在1乘1數組中顯示日期?

是否存在簡單的方法將26-Jul-2004 20:58:14轉移到2004/07/26 20:58:14

謝謝:)

data = csvread('4.csv'); 
date = data(:, 1); 
loc = data(:, 2); 
record_num = size(loc, 1); 

result = zeros(record_num, 2); 
new_date = datestr(date); 
csvwrite('4_res.txt', new_date); 

我想是 2004/07/26 20:58:14

但它會 2,0,0,4,/,0,7,/,2,6, ,2,0,:,5,8,:,1,4

+0

您可以添加示例代碼導出爲CSV文件:您可以使用dlmwrite用空字符串作爲分隔符1x1的電池? – petrichor

回答

4

爲了有格式2004/07/26 20:58:14日期,你可以使用:

new_date = datestr(date,'mm/dd/yy HH:MM:SS'); 

要寫出一個CSV文件只用

dlmwrite('4_res.txt',new_date, 'delimiter','') 
3

您的問題是,對於MATLAB,一個字符串的字符數組。正如您發現csvwrite將'string'寫入整數數組(字符串中字符的ASCII碼)。我不認爲有辦法強制csvwrite行爲有所不同。

我認爲你將不得不使用fprintf,這樣

fprintf(fid,datestr('26-Jul-2004 20:58:14')) 

得到你想要的輸出。這裏,fid當然是您打開的文件(使用fopen)啓用寫入訪問的句柄。至於寫在你想要的格式的日期字符串,請嘗試:

fprintf(fid,datestr('26-Jul-2004 20:58:14', 'yyyy/mm/dd HH:MM:SS')) 
相關問題