2009-05-21 11 views

Respuesta

36

No debe usar un DateTime para representar un lapso de tiempo; use TimeSpan para eso. Y en tal caso, tendrá que utilizar esto:

TimeSpan ts = TimeSpan.FromMinutes(90); 

Si usted insiste en que se necesita un DateTime, se puede hacer lo siguiente:

DateTime dt = DateTime.Now.Date; // To get Midnight Today 
dt = dt.AddMinutes(90); // to get 90-minutes past midnight Today. 

La razón es probable que no quiere sin embargo, use DateTime, es que (acertadamente llamado) combina el concepto de Fecha con el concepto de Tiempo. Su pregunta sugiere que está planeando ignorar el componente de fecha, por lo que, con el interés de usar la herramienta adecuada para el trabajo, sugiero TimeSpan.

+0

Pero, realmente necesito eso transformado a DateTime, de lo contrario arrojará un error! – user95542

+0

Eso es una pena - ah bueno. Use mi segunda sugerencia, entonces, y debería estar listo para irse. –

1

O si usted está tratando de agregar tiempo a un DateTime con sólo una fecha:

DateTime dt = dateTime.AddMinutes(90); 
+5

DateTime es inmutable: al llamar a AddMinutes(), se devolverá un nuevo DateTime con la adición realizada. Ignorar el valor de retorno dará como resultado la apariencia de que no pasó nada. –

1


Si utiliza C# 4 (VS 2010) que necesita este fragmento:

TimeSpan ts = TimeSpan.FromSeconds(90); 
txtDate = string.Format("Full time: {0}", new DateTime(ts.Ticks).ToString("HH:mm:ss")); 

que muestre

Full time: 00:01:30