仅从DateTime对象获取日期或时间


Answers:


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
没想到那是如此明显!:)
gideon

value.Date + ""返回date 12:00:00 AM。使用value.Date.ToShortDateString()避免这种情况。
hesed

39

您也可以使用DateTime.Now.ToString("yyyy-MM-dd")日期和DateTime.Now.ToString("hh:mm:ss")时间。


1
好决定。这就是我匆忙回答的问题。Marc Gravell钉牢了它。
约书亚·史密斯

5
我想说的是,您在寻找字符串的次数足以使此答案有价值。
GWLlosa

22

您可以使用Instance.ToShortDateString()的日期,
Instance.ToShortTimeString() 的时间从同一个实例获得的日期和时间。



-1

有时您想让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");
}

结果显示在这里。 日期时间格式


4
您有一些不适的技能兄弟
Ruchan 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.