我正在尝试使用日期时间基于当前月份/日期创建一个文件夹。初始化新的日期时间( 2011, 5, 16, 1, 1, 30);每次运行程序时,这会保持自身更新或重置吗?
DateTime(2011, 5, 16, 1, 1, 30); 是一个对象,它使用您作为构造函数提供的日期进行初始化。日期将始终保持不变。如果要获取当前日期,则需要使用 DateTime.Now
.
尝试 DateTime.Now - 它将始终获取当前时间。
你为什么不直接使用DateTime.Now
当您在DateTime
实例化中给出特定参数时,您将获得相同的日期/时间。
如果要使用当前时间,并在每次运行程序时进行更新,请使用 DateTime.Now
。
DateTime
对象是不可变的,一旦创建就永远不会改变。 DateTime.Now
根据当前时间创建新DateTime
,并且在创建时是正确的,但返回的实例不会更新。 您可以随时再次调用DateTime.Now
以获取最新时间,但不要保留引用并期望它更新。
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
如您所见,dt
和dt2
是不同的,因为dt
没有保持更新,只是执行该行代码的时间。
如果代码看起来像这样,则每次都相同。 如果您想要当天使用DateTime.Today
或DateTime.Now
不,DateTime
不是任何类型的时钟对象,它只是一个表示某个时刻的对象。如果您始终需要获取当前时刻,请使用DateTime.Now
。