Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memotong Millisaat daripada .NET DateTime?

Bagaimana untuk Memotong Millisaat daripada .NET DateTime?

Linda Hamilton
Linda Hamiltonasal
2025-01-18 22:01:17440semak imbas

How to Truncate Milliseconds from a .NET DateTime?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn