Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Định dạng TimeSpan trong C#


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, hhGiờ (0-23), 1 hoặc 2 chữ số9, 09
m, mmPhút (0-59)5, 05
s, ssGiây (0-59)3, 03
f..fffffffPhần tư giây (ticks).5, .5000000
d, dd...Số ngày1, 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.Format hoặ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.5000000
  • g - General short: 1:02:30:45.5
  • G - General long: 1:02:30:45.5000000