Potong milisaat daripada .NET DateTime
Ketepatan sedia ada milisaat yang disimpan dalam cap masa SQL Server boleh menyebabkan cabaran apabila membandingkannya dengan cap masa permintaan masuk yang tidak mempunyai ketepatan ini. Untuk mengambil kira percanggahan ini, memotong milisaat ialah penyelesaian biasa.
Ini boleh dicapai menggunakan kaedah berikut:
<code class="language-csharp">DateTime dateTime = ... 任何值 ...; dateTime = new DateTime( dateTime.Ticks - (dateTime.Ticks % TimeSpan.TicksPerSecond), dateTime.Kind );</code>
Sebagai alternatif, anda boleh menggunakan sintaks yang lebih ringkas:
<code class="language-csharp">dateTime = dateTime.AddTicks(-(dateTime.Ticks % TimeSpan.TicksPerSecond));</code>
Selain itu, kaedah sambungan boleh menyamaratakan konsep ini:
<code class="language-csharp">public static DateTime Truncate(this DateTime dateTime, TimeSpan timeSpan) { // 处理无效输入 if (timeSpan == TimeSpan.Zero) return dateTime; if (dateTime == DateTime.MinValue || dateTime == DateTime.MaxValue) return dateTime; return dateTime.AddTicks(-(dateTime.Ticks % timeSpan.Ticks)); }</code>
Untuk menggunakan kaedah sambungan ini, hanya nyatakan selang pemangkasan yang diingini:
<code class="language-csharp">dateTime = dateTime.Truncate(TimeSpan.FromMilliseconds(1)); // 截断到整毫秒 dateTime = dateTime.Truncate(TimeSpan.FromSeconds(1)); // 截断到整秒</code>
Atas ialah kandungan terperinci Bagaimana untuk Memotong Millisaat daripada .NET DateTime?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!