Получение даты или времени только из объекта DateTime


У меня есть DateTime экземпляр, который имеет дату и время. Как извлечь только дату или только время?

5 51

5 ответов:

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

вы также можете использовать DateTime.Now.ToString("yyyy-MM-dd"), а DateTime.Now.ToString("hh:mm:ss") на время.

можно использовать экземпляра.ToShortDateString() на сегодняшний день
и экземпляра.ToShortTimeString () для времени, чтобы получить дату и время из того же экземпляра.

var currentDateTime = dateTime.Now();
var date=currentDateTime.Date;

иногда вы хотите, чтобы ваш GridView был таким же простым, как:

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

вы не хотите указывать какое-либо BoundField, вы просто хотите привязать свою сетку к DataReader. Следующий код помог мне отформатировать DateTime в этой ситуации.

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");
}

результаты, показанные здесь. DateTime Formatting