web-dev-qa-db-ja.com

datetime.parseおよび特定の形式で動作させる

次の形式のXMLファイルから日時が返されます。

20080916 11:02

のように

yyyymm hh:ss

これを取得するためにdatetime.parse関数を取得するにはどうすればよいですか?すなわちエラーなしでそれを解析しますか?乾杯

129
anonym0use
DateTime.ParseExact(input,"yyyyMMdd HH:mm",null);

秒ではなく、分が時間の後に続くと言うつもりだったと仮定すると、あなたの例は少し混乱します。

ParseExact documentation は、解析を自動的に協定世界時などに変換する場合のその他のオーバーロードの詳細を示します。

@ Joel Coehoorn が述べているように、操作の成功または失敗を示すブール値を返す TryParseExact を使用するオプションもあります-私はまだ.Net 1.1です、だから私はこれをよく忘れます。

他の形式を解析する必要がある場合は、 標準のDateTime形式文字列 を確認してください。

231
Blair Conrad

ヒントをありがとう、これを使用して日付「20071122」を解析し、datetimestylesを追加する必要がありましたが、何も使用しませんでした:

DateTime dt = DateTime.MinValue;

DateTime.TryParseExact("20071122", "yyyyMMdd", null,System.Globalization.DateTimeStyles.None, out dt);
8
bert