6

タイプがRecDateというフィールドを持つSQL2008テーブルがありますDateTimeOffset

特定のレコードの値は「2010-04-0117:19:23.62-05:00」です。

C#では、DataTableを作成し、次の結果を入力します。

SELECT RecDate FROM MyTable.  

ミリ秒を取得する必要がありますが、次の場合、ミリ秒は常に0です。

DateTimeOffset dto = DateTimeOffset.Parse(dt.Rows[0][0].ToString());  

RecDate列の値をDTO変数に取得する適切な方法は何ですか?

4

1 に答える 1

10

おそらく、キャストToString()はマイクロ秒情報を削除します。

MSDNによると、SQL Server のデータ型datetimeoffsetは C# のものと一致しますDateTimeOffset。したがって、datetimeoffset列をにキャストしても安全DateTimeOffsetです。

例えば:

DateTimeOffset dto = (DateTimeOffset) Rows[0][0];
于 2010-04-19T16:24:52.770 に答える