2017-09-20 5 views
0

dateTime文字列が"\"2017-09-20T02:55:15.000Z\""のようにあります。私はC#でそれを解析したい。C#で奇妙な文字を使用してDateTime文字列を解析する

DateTime gpsddt 
string date = "\"2017-09-20T02:55:15.000Z\""; 
var result = DateTime.TryParse(date, out gpsddt); 

結果はfalseです。私は上記の文字列を解析する方法を知らない。 gpsdデーモンからこの文字列を取得しました。このdatetime文字列に一致するフォーマット指定子が見つかりませんhere

+5

日付値の開始と終了時の余分な二重引用符があります。トリムを使用してそれらを削除し、解析してみてください。 –

答えて

2

文字列は現在"2017-09-20T02:55:15.000Z"ですが、正しく解析するには2017-09-20T02:55:15.000Zにする必要があります。コメントで@Cheanが提案したように、"文字を取り除く必要があります。

解析する前にこの行を追加してください。

date = date.Replace("\"", ""); 

また、DateTime.TryParseExactでは、ソース形式を指定できます。しかし、文化やスタイルなどの要素も考慮する必要があります。

result = DateTime.TryParseExact(date, "\"\\\"\"yyyy-MM-ddTHH:mm:ss.fffZ\"\\\"\"", new CultureInfo("en-AU"), DateTimeStyles.AssumeUniversal, out gpsddt); 
0

それはこれをするだけの単純な問題である:

DateTime gpsddt; 
string date = "\"2017-09-20T02:55:15.000Z\""; 
var result = DateTime.TryParse(date.Trim('"'), out gpsddt); 
関連する問題