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

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

Linda Hamilton
Linda Hamiltonasal
2025-02-01 23:11:10935semak imbas

How to Display Relative Time (e.g.,

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

Penyelesaiannya melibatkan langkah -langkah ini:

  1. Kirakan perbezaan masa: Cari perbezaan antara masa semasa dan input . DateTime
  2. Tukar perbezaan: mengubah perbezaan menjadi saat, minit, jam, hari, atau bulan, bergantung kepada magnitud.
  3. Format output: Buat rentetan masa relatif mesra pengguna berdasarkan perbezaan yang dikira.
inilah contoh kod c#:

<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>
Fungsi ini,

, 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!

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