2017-04-04 11 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

さて、 'Wed Oct 29 14:01:02 2014'は' ddd MMM dd HH:mm:ss yyyy'の形式ですので、 '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一部を忘れてしまいました。

関連する問題