Giả sử tôi có giá trị 6/22/2009 10:00:00 AM. Làm thế nào để tôi chỉ nhận được 10:00 sáng kể từ ngày này.
Giả sử tôi có giá trị 6/22/2009 10:00:00 AM. Làm thế nào để tôi chỉ nhận được 10:00 sáng kể từ ngày này.
Câu trả lời:
Bạn có nhiều lựa chọn cho việc này:
DateTime dt = DateTime.Parse("6/22/2009 07:00:00 AM");
dt.ToString("HH:mm"); // 07:00 // 24 hour clock // hour is always 2 digits
dt.ToString("hh:mm tt"); // 07:00 AM // 12 hour clock // hour is always 2 digits
dt.ToString("H:mm"); // 7:00 // 24 hour clock
dt.ToString("h:mm tt"); // 7:00 AM // 12 hour clock
Liên kết hữu ích: Các mẫu DateTime.ToString ()
ss
là giây có số 0 đứng đầu và s
là giây không có
Từ a DateTime
, bạn có thể sử dụng .TimeOfDay
- nhưng điều đó mang lại cho bạn một TimeSpan
đại diện cho thời gian trong ngày (10 giờ).
Chỉ có loại DateTime trong C # và nó bao gồm cả phần ngày và giờ. Nếu bạn không quan tâm đến phần Ngày của DateTime, hãy đặt nó thành giá trị mặc định như thế này:
DateTime myTime = default(DateTime).Add(myDateTime.TimeOfDay)
Bằng cách này, bạn có thể thống nhất trên tất cả các phiên bản .NET, ngay cả khi Microsoft quyết định thay đổi ngày cơ sở thành ngày khác 1/1/0001.
Bạn có thể muốn xem xét phương thức DateTime.ToShortTimeString () .
Ngoài ra, có nhiều phương thức và thuộc tính khác trên đối tượng DateTime có thể giúp bạn hình thành ngày hoặc thời gian theo bất kỳ cách nào bạn muốn. Chỉ cần xem tài liệu.
Thử cái này:
TimeSpan TodayTime = DateTime.Now.TimeOfDay;
Có nhiều cách khác nhau để làm như vậy. Bạn có thể sử dụng DateTime.Now.ToLongTimeString()
chỉ trả về thời gian ở định dạng chuỗi.
DateTime.ToLongTimeString()
hơn là DateTime.Now.ToLongTimeString()
. Với độ tuổi của chủ đề này, tốt nhất không nên hồi sinh nó trừ khi phản hồi đóng góp một sự cải thiện đáng kể so với các câu trả lời trước đó.
Bạn chỉ có thể viết
string time = dateTimeObect.ToString("HH:mm");
Bạn có thể sử dụng cái này
lblTime.Text = DateTime.Now.TimeOfDay.ToString();
Đó là thời gian thực với giá trị mili giây và nó chỉ đặt thành thời gian.
DateTime now = DateTime.Now;
now.ToLongDateString(); // Wednesday, January 2, 2019
now.ToLongTimeString(); // 2:33:59 PM
now.ToShortDateString(); // 1/2/2019
now.ToShortTimeString(); // 2:16 PM
now.ToString(); // 1/2/2019 2:33:59 PM
nếu bạn đang sử dụng Gridview thì bạn chỉ có thể hiển thị thời gian với DataFormatString="{0:t}"
ví dụ:
By bind the value:-
<asp:Label ID="lblreg" runat="server" Text='<%#Eval("Registration_Time ", "{0:t}") %>'></asp:Label>
By bound filed:-
<asp:BoundField DataField=" Registration_Time" HeaderText="Brithday" SortExpression=" Registration Time " DataFormatString="{0:t}"/>
Nếu bạn đang tìm cách so sánh thời gian chứ không phải ngày, bạn có thể có một ngày so sánh tiêu chuẩn hoặc khớp với ngày bạn đang sử dụng, như trong ...
DateTime time = DateTime.Parse("6/22/2009 10:00AM");
DateTime compare = DateTime.Parse(time.ToShortDateString() + " 2:00PM");
bool greater = (time > compare);
Có thể có những cách tốt hơn để làm điều này, nhưng giữ cho ngày của bạn phù hợp.
Bạn cũng cần phải có tài khoản cho DateTime Kind.
public static DateTime GetTime(this DateTime d)
{
return new DateTime(d.TimeOfDay.Ticks, d.Kind);
}