Menukar Saat kepada Tempoh Masa
Dalam .NET, anda boleh menukar saat kepada tempoh masa yang diformatkan, seperti "00j:00m: 00s:00ms." Begini cara anda boleh mencapai ini:
Untuk .NET <= 4.0:
Kelas TimeSpan menyediakan cara yang mudah untuk mewakili tempoh masa. Untuk menukar saat kepada objek TimeSpan:
TimeSpan t = TimeSpan.FromSeconds(seconds);
Untuk memformatkan TimeSpan dalam format yang diingini, gunakan kaedah "string.Format":
string answer = string.Format("{0:D2}h:{1:D2}m:{2:D2}s:{3:D3}ms", t.Hours, t.Minutes, t.Seconds, t.Milliseconds);
Ini akan menghasilkan rentetan yang diformatkan dengan ruang letak yang ditentukan diisi dengan nilai yang sepadan daripada objek TimeSpan.
Untuk .NET > 4.0:
Dalam .NET 4.0 dan ke atas, anda juga boleh menggunakan kaedah ToString() TimeSpan dengan rentetan format tersuai untuk mencapai hasil yang diingini:
TimeSpan time = TimeSpan.FromSeconds(seconds); // Use backslash to escape the colon character string str = time.ToString(@"hh\:mm\:ss\:fff");
Nota Tambahan:
Seperti yang dinyatakan dalam jawapan yang disediakan, pastikan nilai input saat adalah kurang daripada nilai maksimum yang dibenarkan untuk TimeSpan.MaxValue.TotalSeconds (kira-kira 24 hari) untuk mengelakkan pengecualian.
Atas ialah kandungan terperinci Bagaimana Saya Menukar Detik kepada Tempoh Masa Terformat (hh:mm:ss:fff) dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!