2011-08-15 13 views
1

次の文字列をタイムゾーン付きでDateTimeに解析するにはどうすればよいですか? CultureInfoを使用しますか? TimeZoneInfo?それとも別の種類ですか?この文字列をDateTimeとして解析する方法

15.08.11 17:15:18.084867000 +02:00

私は次の形式を使用しようとしている:

var z = DateTime.Now.ToString("dd.MM.yy H:mm:ss.fffffff", CultureInfo.InvariantCulture); 

をしかし、それが例外をスローしました。

+0

**文字列**を** DateTimeに入力する必要がありますか**出力** DateTimeをその形式の文字列として入力する必要がありますか? –

答えて

3

DateTime。 ParseExactはあなたが望むものです。

あなたが必要とする実際のフォーマット文字列は、問題が秒の小数部分のみが7桁にできることである、そしてあなたはそれに対応するためにパッドにゼロでフォーマット文字列を必要とするdd.MM.yy HH:mm:ss.FFFFFFF00 zzz

var dateTest = "15.08.11 17:15:18.084867000 +02:00"; 
var format = "dd.MM.yy HH:mm:ss.FFFFFFF00 zzz"; 
var returnDate = DateTime.ParseExact(dateTest, format, System.Globalization.CultureInfo.InvariantCulture); 

です。

の最後の2桁がである必要があります。それ以外の場合はフォーマットが機能しないため、最後の2桁が00以外の場合はこのフォーマット文字列は機能しませんあなたのために。

秒の最後の桁を除く文字列全体を解析する必要がありますが、残りの文字列はそのままにしておく必要があります。もしそれほど煩わしいことがあったら、手作業で文字列を解析するだけでよいかもしれません。

申し訳ありません、私はより多くの助けができません。

+0

ミリ秒とタイムゾーンで正しい形式が必要です。 –

+0

@Dmitriy Sosunov:答えを正しい形式の文字列で更新しました –

関連する問題