DateTime是否在C#中自行更新?

时间:2011-05-16 20:06:08

标签: c# datetime

我正在尝试使用DateTime创建一个基于当前月/日的文件夹。在我初始化一个新的DateTime(2011,5,16,1,1,30)之后;这会在每次运行程序时保持自己更新或重置吗?

7 个答案:

答案 0 :(得分:8)

日期时间(2011年,5日,16日,1日,30日);是一个使用您提供的日期作为构造函数初始化的对象。日期将始终保持不变。如果您想获得当前日期,则需要使用DateTime.Now

答案 1 :(得分:2)

尝试DateTime.Now - 它将始终获得当前时间。

答案 2 :(得分:1)

为什么不使用DateTime.Now

答案 3 :(得分:1)

当您在DateTime实例中提供特定参数时,您将获得相同的日期/时间。

如果您想使用当前时间,并在每次运行程序时都进行更新,请使用DateTime.Now

答案 4 :(得分:1)

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

正如您所看到的,dtdt2不同,因为dt没有保持更新,只是执行该行代码的时间。

答案 5 :(得分:0)

如果代码看起来每次都是相同的。如果您希望当天使用DateTime.TodayDateTime.Now

答案 6 :(得分:0)

不,DateTime不是任何类型的Clock对象,它只是一个表示时刻的对象。如果您始终需要及时获取当前时刻,请使用DateTime.Now