Chỉ lấy Ngày hoặc Giờ từ một Đối tượng DateTime


Câu trả lời:


134
var day = value.Date; // a DateTime that will just be whole days
var time = value.TimeOfDay; // a TimeSpan that is the duration into the day

1
Không nghĩ rằng nó quá rõ ràng! :)
gideon

value.Date + ""trả về date 12:00:00 AM. Sử dụng value.Date.ToShortDateString()để tránh điều này.
hesed

39

Bạn cũng có thể sử dụng DateTime.Now.ToString("yyyy-MM-dd")cho ngày và DateTime.Now.ToString("hh:mm:ss")giờ.


1
Tốt cuộc gọi. Đó là những gì tôi nhận được khi trả lời vội vàng. Marc Gravell đã đóng đinh nó.
Joshua Smith

5
Tôi muốn nói rằng bạn đang tìm kiếm một chuỗi đủ thường xuyên để câu trả lời này có giá trị.
GWLlosa

22

Bạn có thể sử dụng Instance.ToShortDateString () cho ngày tháng
Instance.ToShortTimeString () cho thời gian để lấy ngày và giờ từ cùng một phiên bản.



-2

Đôi khi bạn muốn có GridView của mình đơn giản như:

  <asp:GridView ID="grid" runat="server" />

Bạn không muốn chỉ định bất kỳ BoundField nào, bạn chỉ muốn liên kết lưới của mình với DataReader. Đoạn mã sau đã giúp tôi định dạng DateTime trong trường hợp này.

protected void Page_Load(object sender, EventArgs e)
{
  grid.RowDataBound += grid_RowDataBound;
  // Your DB access code here...
  // grid.DataSource = cmd.ExecuteReader(CommandBehavior.CloseConnection);
  // grid.DataBind();
}

void grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
  if (e.Row.RowType != DataControlRowType.DataRow)
    return;
  var dt = (e.Row.DataItem as DbDataRecord).GetDateTime(4);
  e.Row.Cells[4].Text = dt.ToString("dd.MM.yyyy");
}

Kết quả hiển thị ở đây. Định dạng DateTime


4
bạn đã có một số kỹ năng ốm bro
Ruchan
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.