2017-04-04 93 views
1

我正在處理一個錯誤日誌清理它,然後輸出它並將文本文件放入機器學習中,因此文本文件中的日期需要位於以下格式:「yyyy-MM-dd HH:mm:ss」,目前日期如下:Wed Oct 29 13:36:08 2014年。如何重新格式化文本文件中的日期C#

我在格式化日期的訪問日誌中有類似的情況,但是在這個時間過後的一年,這使我很難格式化,任何人都可以提出任何可行的方案?

cleanArray[3]以下列格式保存日期和時間:Wed Oct 29 14:01:02 2014.您可以看到我已經評論過嘗試對其格式進行重新設置,但我很難理解今年的情況。提前致謝!!

+0

我不確定我是否理解這個問題。您已經編寫了如何將一種數據格式轉換爲其他格式。有什麼問題? – mateuszlewko

+0

我想一個更好的方法是將'Wed Oct 29 14:01:02 2014'格式化爲「yyyy-MM-dd HH:mm:ss」。 – Michael

+0

Well'Wed Oct 29 14:01:02 2014'格式爲'ddd MMM dd HH:mm:ss yyyy',所以你可以從'ParseExact'和'ToString(「yyyy-MM-dd HH:mm: ss「);' – Equalsk

回答

1

你的代碼很好,你剛剛錯過了你的ParseExact格式的dd。顧名思義,格式必須準確。

// Get date string e.g. 'Wed Oct 29 14:01:02 2014' 
var dateString = cleanArray[3]; 

// See the 'dd' for the day 
var date = DateTime.ParseExact(dateString, "ddd MMM dd HH:mm:ss yyyy", CultureInfo.InvariantCulture); 

// Output to desired format 
var newDateString = date.ToString("yyyy-MM-dd HH:mm:ss"); 

// Replace value in array 
cleanArray[3] = newDateString; 
1

所以你幾乎是正確的。 試試這個代碼解析成所需的格式:

var date = DateTime.ParseExact("Wed Oct 29 14:01:02 2014", "ddd MMM dd HH:mm:ss yyyy", CultureInfo.InvariantCulture); 
var newDateString = date.ToString("yyyy-MM-dd HH:mm:ss"); 
Console.WriteLine(newDateString); 

你忘了你的格式字符串約dd一部分。

相關問題