2010-06-11 54 views
104

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 nó thành 14:20 và thế là xong.Giờ từ DateTime? theo định dạng 24 giờ

Tôi đang làm việc với Visual C#. Bất kỳ ý tưởng nào, xin cảm ơ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 
    } 
+0

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

+0

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

+0

"hh" trong chữ thường là ký hiệu am/pm, "HH" là ký hiệu 24h –

Trả lời

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

Hãy thử điều 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); 
} 
97
date.ToString("HH:mm:ss"); // for 24hr format 
date.ToString("hh:mm:ss"); // for 12hr format, it shows AM/PM 

Tham khảo this liên kết cho Định dạng khác trong DateTime.

11

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

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

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

Tôi thích phương thức này vì nó cho tôi giá trị số nguyên để tính. –

+0

Đây là giải pháp ưu tiên cho 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 cú pháp trở lại vào một DateTime một lần nữa. – Sevren

Các vấn đề liên quan