sistema - Cómo obtener solo el tiempo a partir de la fecha-hora C#
obtener solo la hora de un datetime c# (13)
Desde DateTime
, puede usar .TimeOfDay
, pero eso le da un TimeSpan
representa el tiempo en el día (10 horas).
Supongamos que tengo el valor 6/22/2009 10:00:00 AM. ¿Cómo obtengo solo las 10:00 a.m. de esta fecha y hora?
Es posible que desee examinar el método DateTime.ToShortTimeString() .
Además, hay muchos otros métodos y propiedades en el objeto DateTime que pueden ayudarlo a formatear la fecha u hora de la manera que desee. Solo eche un vistazo a la documentación.
Esto funciona para mí Lo descubrí cuando tuve que trabajar con DateTime.Date para obtener solo la parte de la fecha.
var wholeDate = DateTime.Parse("6/22/2009 10:00:00 AM");
var time = wholeDate - wholeDate.Date;
Hay diferentes formas de hacerlo. Puede usar DateTime.Now.ToLongTimeString()
que devuelve solo la hora en formato de cadena.
Prueba esto:
TimeSpan TodayTime = DateTime.Now.TimeOfDay;
Puede usar ToString("T")
durante un tiempo prolongado o ToString("t")
durante un tiempo corto.
Puede usar el siguiente código:
DateTime dt = new DateTime(2009, 6, 22, 10, 0, 0); //Date 6/22/2009 10:00:00 AM
string time = dt.ToString("hh:mm tt"); //Output: 10:00 AM
time = dt.ToString("HH:mm tt"); //Output: 10:00 AM
dt = new DateTime(2009, 6, 22, 22, 0, 0); //Date 6/22/2009 10:00:00 PM
time = dt.ToString("hh:mm tt"); //Output: 10:00 PM
time = dt.ToString("HH:mm tt"); //Output: 22:00 PM
Puedes usar esto
lblTime.Text = DateTime.Now.TimeOfDay.ToString();
Es en tiempo real con un valor de milisegundos y se ajusta solo a la hora.
Si está buscando comparar tiempos y no las fechas, puede tener una fecha de comparación estándar o coincidir con la fecha que está usando, como en ...
DateTime time = DateTime.Parse("6/22/2009 10:00AM");
DateTime compare = DateTime.Parse(time.ToShortDateString() + " 2:00PM");
bool greater = (time > compare);
Puede haber mejores formas de hacerlo, pero mantiene sus fechas coincidentes.
Simplemente puede escribir
string time = dateTimeObect.ToString("HH:mm");
Solo hay fecha y hora en C # y consta de la parte de fecha y hora. Si no le importa la parte de fecha de DateTime, configúrelo en un valor predeterminado como este:
DateTime myTime = default(DateTime).Add(myDateTime.TimeOfDay)
De esta manera, puede ser coherente en todas las versiones de .NET, incluso si Microsoft decide cambiar la fecha base por otra distinta de 1/1/0001.
Usted tiene muchas opciones para esto:
DateTime dt = DateTime.Parse("6/22/2009 07:00:00 AM");
dt.ToString("HH:mm"); // 07:00 // 24 hour clock // hour is always 2 digits
dt.ToString("hh:mm tt"); // 07:00 AM // 12 hour clock // hour is always 2 digits
dt.ToString("H:mm"); // 7:00 // 24 hour clock
dt.ToString("h:mm tt"); // 7:00 AM // 12 hour clock
¡Espero que ayude!
:)
Enlace útil: Patrones DateTime.ToString ()
si está utilizando gridview, entonces puede mostrar solo la hora con DataFormatString="{0:t}"
ejemplo:
By bind the value:-
<asp:Label ID="lblreg" runat="server" Text=''<%#Eval("Registration_Time ", "{0:t}") %>''></asp:Label>
By bound filed:-
<asp:BoundField DataField=" Registration_Time" HeaderText="Brithday" SortExpression=" Registration Time " DataFormatString="{0:t}"/>