Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk memaparkan masa relatif (mis., '2 jam yang lalu') dalam C#?

Bagaimana untuk memaparkan masa relatif (mis., '2 jam yang lalu') dalam C#?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-02-01 22:51:101030semak imbas

How to Display Relative Time (e.g.,

C# Paparan Masa Relatif: Panduan Ringkas

Panduan ini menunjukkan bagaimana untuk memaparkan masa relatif dengan cekap (mis., "2 jam yang lalu," "sebulan yang lalu") dalam C#, keperluan umum dalam banyak aplikasi. Kami akan memberi tumpuan kepada pendekatan yang jelas dan dapat dipelihara.

Unit masa yang menentukan:

Untuk kebolehbacaan dan kebolehkerjaan yang lebih baik, kami menggunakan pemalar untuk mewakili unit masa yang berbeza:

<code class="language-csharp">const int SECOND = 1;
const int MINUTE = 60 * SECOND;
const int HOUR = 60 * MINUTE;
const int DAY = 24 * HOUR;
const int MONTH = 30 * DAY; // Approximation</code>
Mengira perbezaan masa:

Logik teras melibatkan mengira perbezaan antara masa semasa (UTC) dan sasaran menggunakan

, kemudian menukar hasilnya ke saat:

DateTime TimeSpan

Menjana rentetan masa relatif:
<code class="language-csharp">TimeSpan timeDifference = DateTime.UtcNow - yourDate;
double seconds = Math.Abs(timeDifference.TotalSeconds);</code>

kami menggunakan satu siri pernyataan untuk menentukan rentetan masa relatif yang sesuai berdasarkan nilai

:

if seconds Pendekatan ini menawarkan kaedah yang mudah dan mudah disesuaikan untuk memaparkan masa relatif, mudah dikembangkan untuk memasukkan tahun atau unit masa lain yang diperlukan. Ingat bahawa

adalah penghampiran; Untuk ketepatan yang lebih tinggi, pertimbangkan untuk menggunakan perpustakaan tarikh/masa yang lebih canggih.
<code class="language-csharp">string relativeTime;
if (seconds < MINUTE)
{
    relativeTime = $"{seconds} seconds ago";
}
else if (seconds < HOUR)
{
    relativeTime = $"{Math.Round(seconds / MINUTE)} minutes ago";
}
else if (seconds < DAY)
{
    relativeTime = $"{Math.Round(seconds / HOUR)} hours ago";
}
else if (seconds < MONTH)
{
    relativeTime = $"{Math.Round(seconds / DAY)} days ago";
}
else
{
    relativeTime = $"{Math.Round(seconds / MONTH)} months ago";
}</code>

Atas ialah kandungan terperinci Bagaimana untuk memaparkan masa relatif (mis., '2 jam yang lalu') dalam C#?. 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