¿DateTime se mantiene actualizado en C #?

Estoy tratando de crear una carpeta basada en el mes / día actual usando DateTime. Después de inicializar un nuevo DateTime (2011, 5, 16, 1, 1, 30); ¿Se mantendrá actualizado o se restablecerá cada vez que se ejecute el programa?

preguntado el 16 de mayo de 11 a las 20:05

¿Cómo espera que se actualice? -

7 Respuestas

Un DateTime (2011, 5, 16, 1, 1, 30); es un objeto que se inicializa con la fecha que proporcionaste como constructor. La fecha siempre será la misma. Si desea obtener la fecha actual, debe usar DateTime.Now.

contestado el 17 de mayo de 11 a las 00:05

Cabe señalar que el valor devuelto por DateTime.Now no se actualiza a sí mismo, es solo que DateTime.Now devuelve un nuevo objeto cada vez. - Davy8

Pruebe DateTime.Now: siempre obtendrá la hora actual.

contestado el 17 de mayo de 11 a las 00:05

¿Por qué no usas DateTime.Now

contestado el 17 de mayo de 11 a las 00:05

Cuando da parámetros específicos en su DateTime instanciación, obtendrá la misma fecha / hora.

Si desea utilizar la hora actual y tener esa actualización cada vez que ejecuta el programa, utilice DateTime.Now.

contestado el 17 de mayo de 11 a las 00:05

A DateTime El objeto es inmutable y una vez creado nunca cambiará. DateTime.Now crea un nuevo DateTime basado en la hora actual y será correcto en el momento de la creación, pero la instancia devuelta no se actualizará. Siempre puedes llamar DateTime.Now nuevamente para obtener la última hora, pero no guarde una referencia y espere que se actualice.

        DateTime dt = DateTime.Now;
        Thread.Sleep(1000);
        DateTime dt2 = DateTime.Now;
        TimeSpan elapsed = dt2 - dt;
        Console.WriteLine(elapsed.TotalMilliseconds); 
        // Printed 1000.4 when I last ran it, depends on CPU timings

Como se puede ver dt y dt2 son diferentes porque dt no se mantuvo actualizado, era solo el momento en que se ejecutó esa línea de código.

contestado el 17 de mayo de 11 a las 00:05

Si el código se ve así, será el mismo cada vez. Si quieres el uso del día actual DateTime.Today or DateTime.Now

contestado el 17 de mayo de 11 a las 00:05

NO, DateTime no es un objeto Reloj de ningún tipo, es solo un objeto que representa un momento en el tiempo. Usar DateTime.Now si siempre necesita obtener el momento actual a tiempo.

contestado el 17 de mayo de 11 a las 00:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.