こんにちは。 私たちのシステムに来る受信日時の値を文字列形式に変換しようとしています。ミリ秒単位の精度が7より大きい場合、.NETでの日時解析は値が気に入らないようで、値を変換/解析できないようです。私はこのために何をしなければならないのですか?私の現在の唯一の考えは、ミリ秒のサイズには限界があり、それ以上の精度は不可能であるということですか?しかし、私はこれが前提ではなく事実であることを確認したい。 例:私はちょうど7までの「F」の値を減らす場合.NET datetime文字列からdatetimeへの変換時のミリ秒精度の問題
string candidateDateTimeString = "2017-12-08T15:14:38.123456789Z";
if (!success)
{
success = DateTime.TryParseExact(trayportDateTimeString, "yyyy-
MM-dd'T'HH:mm:ss.fffffffff'Z'",
CultureInfo.InvariantCulture, dateTimeStyles, out dateTime);
}
、その後、日付時刻の解析が正常に動作します。限界はありますか?または私は間違った何かを明らかにしていますか?
DateTimeの精度は最大7桁ですが、これ以降のデータはすべてそこに格納できないため、そのようなフォーマットは許可されていません。 – Evk
DateTimeが格納できる時間の最小増分は100ナノ秒です。それは分数の7桁です。 8番目以降の数字を静かに無視するのではなく、間違っていると伝えます。これにより、文字列に戻ったときに、同じ数字が得られることが保証されます。信頼できるラウンドトリップが重要です。それに、正確な時計は手に入れることができません。地下室に保管するのは装置の種類ではありません。 –