memaparkan masa relatif dalam c#
Artikel ini menunjukkan cara memaparkan masa relatif (mis., "2 jam yang lalu," "sebulan yang lalu") dari nilai yang diberikan dalam C#. DateTime
DateTime
<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; public static string GetRelativeTime(DateTime yourDate) { TimeSpan ts = DateTime.UtcNow - yourDate; double delta = Math.Abs(ts.TotalSeconds); if (delta < 60) { return $"{Math.Round(delta)} seconds ago"; } else if (delta < 3600) { return $"{Math.Round(delta / MINUTE)} minutes ago"; } else if (delta < 86400) { return $"{Math.Round(delta / HOUR)} hours ago"; } else if (delta < 2592000) // 30 days { return $"{Math.Round(delta / DAY)} days ago"; } else { return $"{Math.Round(delta / MONTH)} months ago"; } }</code>
, mengambil GetRelativeTime
sebagai input dan mengembalikan rentetan yang mewakili masa relatif. Ia mengendalikan beberapa saat, minit, jam, hari, dan bulan. Anda boleh dengan mudah melanjutkannya untuk memasukkan unit masa bertahun -tahun atau lain -lain. Penggunaan DateTime
menyediakan output yang lebih bersih. Ingatlah untuk menggantikan Math.Round
dengan pembolehubah sebenar yourDate
anda. Kaedah ini menggunakan DateTime
untuk konsistensi; Anda mungkin menyesuaikan ini ke DateTime.UtcNow
jika diperlukan. Menggunakan UTC biasanya disukai untuk pengiraan masa untuk mengelakkan kekaburan yang berkaitan dengan zon masa. DateTime.Now
Atas ialah kandungan terperinci Bagaimana untuk memaparkan masa relatif (mis., '2 jam yang lalu') dari datetime di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!