Cómo obtener solo el tiempo a partir de la fecha-hora C #

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?

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 ()

Desde DateTime , puede usar .TimeOfDay , pero eso le da un TimeSpan representa el tiempo en el día (10 horas).

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.

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.

Hay diferentes formas de hacerlo. Puede usar DateTime.Now.ToLongTimeString() que devuelve solo la hora en formato de cadena.

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 

Prueba esto:

 TimeSpan TodayTime = DateTime.Now.TimeOfDay; 

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; 

Simplemente puede escribir

 string time = dateTimeObect.ToString("HH:mm"); 

Puede usar ToString("T") durante un tiempo prolongado o ToString("t") durante un tiempo corto.

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.

si está utilizando gridview, entonces puede mostrar solo la hora con DataFormatString="{0:t}" ejemplo:

  By bind the value:-  By bound filed:-  

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.