Giờ từ DateTime? trong định dạng 24 giờ


157

Vì vậy, tôi có DateTime này? và những gì tôi muốn làm là để có được giờ nhưng hiển thị nó ở định dạng 24 giờ.
Ví dụ:
Nếu giờ là 2:20:23 chiều, tôi muốn chuyển đổi thành 14:20 và đó là giờ.

Tôi đang làm việc với Visual C #. Mọi ý kiến ​​xin vui lòng, cảm ơn bạn.

Tôi có một cái gì đó như thế này

public static string FormatearHoraA24(DateTime? fechaHora)
{
    if (!fechaHora.HasValue)
        return "";

    string retornar = "";
    //here goes what i need
}

@OrelEraki bạn có nghiêm túc không? Câu hỏi này đã được đăng trước đó một năm hai lần. Ít nhất là kiểm tra sự thật của bạn trước khi gọi trùng lặp.
Archibald

Không cần phải thoát ra, đó là vào năm 2014. Đã xóa nó.
Orel Eraki

4
"hh" trong trường hợp thấp hơn là ký hiệu sáng / chiều, "HH" là ký hiệu 24h
Antoine Meltzheim

Câu trả lời:


275

Bạn có thể nhận được kết quả mong muốn với mã dưới đây. Two'H 'in HHdành cho định dạng 24 giờ.

return fechaHora.Value.ToString("HH:mm");

8
Mô tả như tại sao điều này làm việc sẽ hữu ích. Chẳng hạn như HH cho định dạng 24 giờ như hh trong 12 giờ.
Luke Alderton

139
date.ToString("HH:mm:ss"); // for 24hr format
date.ToString("hh:mm:ss"); // for 12hr format, it shows AM/PM

Tham khảo liên kết này cho các Trình định dạng khác trong DateTime.


19

Sử dụng ToString("HH:mm")chắc chắn cung cấp cho bạn những gì bạn muốn như một chuỗi .

Nếu bạn muốn số giờ / phút hiện tại là số , thao tác chuỗi không cần thiết; bạn có thể sử dụng TimeOfDaytài sản:

TimeSpan timeOfDay = fechaHora.TimeOfDay;
int hour = timeOfDay.Hours;
int minute = timeOfDay.Minutes;

Tôi thích phương pháp này vì nó cho tôi các giá trị nguyên để tính toán.
Hao Nguyen

Đây là giải pháp ưa thích của tôi vì tôi chỉ cần int từ giờ trong ngày. Dễ dàng hơn nhiều sau đó chuyển đổi thành một chuỗi chỉ để phân tích lại thành DateTime một lần nữa.
Bảy

6

Thử cái này:

//String.Format("{0:HH:mm}", dt);  // where dt is a DateTime variable

public static string FormatearHoraA24(DateTime? fechaHora)
{
    if (!fechaHora.HasValue)
        return "";

    return retornar = String.Format("{0:HH:mm}", (DateTime)fechaHora);
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.