2016-10-20 5 views
0

「20160803T0509 + 0100」のdatetimeをミリ秒単位で解析する方法。私はクライアントデータファイルで受信しているので、入力日時形式を変更することはできません。DateTimeミリ秒レベルの解析エラー

クライアントは、UTCのISOにシステムのローカルサーバの時刻として使用している8601私は簡単な関数をuseingい

オフセットで

Console.WriteLine(Convert.ToDateTime("20160803T0509+0100")); 

エラー:

String was not recognized as a valid DateTime.

+0

を使用しない時間帯オフセットのためだと思う...は01のように 'のような秒、ミリ秒のためのあなたの' + 0100'一部です秒、「00」はミリ秒ですか?あなたは_それが[UTCオフセット](https://en.wikipedia.org/wiki/UTC_offset)ではないことを本当に確信していますか?私は前にそのフォーマットを見たことはありません。それは前に '+ '記号があるので、奇妙なものです。 –

答えて

1

使用DateTime.ParseExact代わり

DateTime result = DateTime.ParseExact("20160803T0509+0100", "yyyyMMddTHHmm+ssff", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None); 
2

私は+0100はミリ秒

var dateTime= DateTime.ParseExact("20160803T0509+0100", "yyyyMMddTHHmmzzz", CultureInfo.CurrentCulture); 
0

単に秒を待って、この

DateTime dt = DateTime.ParseExact("20160803T0509+0100", "yyyyMMddTHHmmzzz", CultureInfo.InvariantCulture); 
関連する問題