1

DateTime.TryParseExact「U」フォーマット文字列とで解析できるように、日付/時刻文字列をどのようにフォーマットする必要がありDateTimeStyles.AdjustToUniversalますか? つまり、次のコードで設定されている有効なtimestampStringsoは何ですか?isDateTimetrue

string timestampString = "...";

DateTime timestamp;
bool isDateTime = DateTime.TryParseExact(
    timestampString, "U", null, DateTimeStyles.AdjustToUniversal, out timestamp);
4

2 に答える 2

5

en-US カルチャの例を次に示します。

string timestampString = "Saturday, April 20, 2013 9:00:00 PM";

DateTime timestamp;
bool isDateTime = DateTime.TryParseExact(timestampString, "U", null,
    DateTimeStyles.AdjustToUniversal, out timestamp);

Console.WriteLine(isDateTime);     // True
Console.WriteLine(timestamp);      // 4/20/2013 9:00:00 PM
Console.WriteLine(timestamp.Kind); // Utc

MSDN ライブラリの標準の日付と時刻の形式文字列のトピックに記載されているように、"U" はDateTimeFormatInfo.FullDateTimePatternプロパティによって定義された形式を表し、UTC に自動変換されます。en-US の場合、この形式は"dddd, MMMM d, yyyy h:mm:ss tt".

于 2013-04-21T04:11:06.517 に答える
1

このMSDN投稿から:

AdjustToUniversal入力によって表される文字列を解析し、必要に応じて UTC に変換します。これは、文字列を解析してから、返された DateTimeOffset オブジェクトの DateTimeOffset.ToUniversalTime メソッドを呼び出すことと同じです。

したがって、最初に日付を解析してみてください。

形式「U」が日時に有効かどうかわかりません。たとえば、MSDN の日時形式のページでは見つかりませんでした

于 2013-04-21T04:08:22.723 に答える