日期时间是否在 C# 中保持自身更新

本文关键字:更新 时间 是否 日期 | 更新日期: 2023-09-27 17:56:41

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

日期时间是否在 C# 中保持自身更新

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

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

如果代码看起来像这样,则每次都相同。 如果您想要当天使用DateTime.TodayDateTime.Now

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