2010-11-04 15 views

risposta

75
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

non pensavo che fosse così ovvio! :) – gideon

23

È inoltre possibile utilizzare DateTime.Now.ToString("yyyy-MM-dd") per la data, e DateTime.Now.ToString("hh:mm:ss") per il tempo.

+2

Solo se si desidera una stringa ... – Dismissile

+0

Buona chiamata. Questo è quello che ottengo per rispondere in fretta. Marc Gravell lo inchiodò. –

+2

Direi che stai cercando una stringa abbastanza spesso che questa risposta ha un valore, però. – GWLlosa

13

È possibile utilizzare Instance.ToShortDateString() per la data,
e Instance.ToShortTimeString() per il tempo per ottenere la data e l'ora dalla stessa istanza.

-1

A volte si desidera avere il tuo GridView semplice come:

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

Se non si desidera specificare qualsiasi BoundField, si desidera solo per vincolare il proprio griglia per DataReader. Il seguente codice mi ha aiutato a formattare DateTime in questa situazione.

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

I risultati indicati qui. DateTime Formatting

+0

hai qualche abilità malata bro – Ruchan

1
var currentDateTime = dateTime.Now(); 
var date=currentDateTime.Date; 
+0

puoi anche usare 'yourDateObj.ToShortDateString();' –