Abrufen von Datum oder Uhrzeit nur von einem DateTime-Objekt

Antworten:

133
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
Marc Gravell
quelle
1
Habe nicht gedacht, dass es so offensichtlich ist! :)
Gideon
38

Sie können auch DateTime.Now.ToString("yyyy-MM-dd")für das Datum und DateTime.Now.ToString("hh:mm:ss")für die Uhrzeit verwenden.

Joshua Smith
quelle
1
Guter Anruf. Das bekomme ich, wenn ich in Eile antworte. Marc Gravell hat es geschafft.
Joshua Smith
5
Ich würde sagen, dass Sie oft genug nach einer Zeichenfolge suchen, damit diese Antwort einen Wert hat.
GWLlosa
22

Sie können Instance.ToShortDateString () für das Datum
und Instance.ToShortTimeString () für die Uhrzeit verwenden, um Datum und Uhrzeit von derselben Instanz abzurufen.

Shail Nautiyal
quelle
2
var currentDateTime = dateTime.Now();
var date=currentDateTime.Date;
Muhammad Kashif
quelle
4
Sie können auch verwenden yourDateObj.ToShortDateString();
Muhammad Kashif
-2

Manchmal möchten Sie Ihre GridView so einfach wie:

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

Sie möchten kein BoundField angeben, sondern nur Ihr Raster an DataReader binden. Der folgende Code hat mir geholfen, DateTime in dieser Situation zu formatieren.

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

Die hier gezeigten Ergebnisse. DateTime-Formatierung

Alexander Chernosvitov
quelle
4
Sie haben einige kranke Fähigkeiten Bruder
Ruchan