8

datetime2(3)私はC#コードから同等のものを取得するためにいくつかの方法を試しましたが、無駄でした。

そのうちの一つは以下の通りです。

DateTime dt = DateTime.Now.AddMilliseconds(DateTime.Now.Millisecond);

次の形式が必要です。

YYYY-MM-DD HH:MM:SS.FFF

しかし、上記のコードから、次の結果が得られました

6/19/2012 11:15:08 PM

次のようにやってみたら、

 string myTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff");
 DateTime dd = Convert.ToDateTime(myTime);

次のエラーをスローしています

文字列が有効な日時として認識されませんでした。

日付はdatetime2(3)フォーマットでのみ必要です。代わりに、として保存するように提案できますnvarchardatetime2ただし、更新されたエントリに従ってエントリを並べ替える必要があります。

これを解決する他の方法はありますか?

4

1 に答える 1

18
var format = "yyyy-MM-dd HH:mm:ss:fff";
var stringDate = DateTime.Now.ToString(format);
var convertedBack = DateTime.ParseExact(stringDate, format, CultureInfo.InvariantCulture);

DateTimeは、日付と時刻を表すデータ型であり、形式情報を格納しません。ミリ秒は常にDateTimeに保存されます。ミリ秒を指定する必要があるのは、DateTimeを文字列などの別のタイプとして表す方法を選択する場合のみです。

于 2012-06-19T18:06:32.213 に答える