Giới thiệu
TimeSpan hỗ trợ định dạng tùy chỉnh (custom format strings) khi chuyển sang string. Định dạng phổ biến là hh\\:mm\\:ss (giờ:phút:giây).
Ví dụ cơ bản
TimeSpan ts = new TimeSpan(9, 15, 30);
Console.WriteLine("{0:hh\\:mm\\:ss}", ts); // 09:15:30
Ví dụ hoàn chỉnh
using System;
public class Demo
{
public static void Main()
{
TimeSpan ts = new TimeSpan(9, 15, 30);
Console.WriteLine("{0:hh\\:mm\\:ss}", ts);
}
}
Kết quả
09:15:30
Các ký tự định dạng TimeSpan
| Ký tự | Mô tả | Ví dụ |
|---|---|---|
h, hh | Giờ (0-23), 1 hoặc 2 chữ số | 9, 09 |
m, mm | Phút (0-59) | 5, 05 |
s, ss | Giây (0-59) | 3, 03 |
f..fffffff | Phần tư giây (ticks) | .5, .5000000 |
d, dd... | Số ngày | 1, 01 |
Lưu ý về escape
- Dấu
:là ký tự phân tách thời gian chuẩn, phải escape bằng\\:trong format string. - Trong string literal C#, cần double escape:
\"hh\\\\:mm\\\\:ss\"hoặc dùng verbatim@"hh\:mm\:ss". - Trong
string.Formathoặc interpolation, dùng\\:.
Ví dụ nâng cao
TimeSpan ts = new TimeSpan(1, 2, 30, 45, 500); // 1 ngày 2 giờ 30 phút 45 giây 500ms
Console.WriteLine(ts.ToString(@"d\.hh\:mm\:ss\.fff")); // 1.02:30:45.500
Console.WriteLine($"{ts.Days} days, {ts.Hours} hours, {ts.Minutes} minutes");
Định dạng chuẩn (Standard Format Strings)
c- Constant (c format):1.02:30:45.5000000g- General short:1:02:30:45.5G- General long:1:02:30:45.5000000