2011-05-16 33 views
1

我正嘗試使用DateTime創建基於當前月/日的文件夾。在我初始化一個新的DateTime(2011,5,16,1,1,30)後;這會保持自己更新或每次程序運行時重置?DateTime保持自己在C#中更新?

+0

您如何期待它得到更新? – Gabe 2011-05-16 20:12:44

回答

8

A DateTime(2011,5,16,1,1,30);是一個以您作爲構造函數提供的日期進行初始化的對象。日期將始終保持不變。如果您想獲取當前日期,則需要使用DateTime.Now

+2

應該指出,從DateTime.Now返回的值不會自行更新,只是每次都返回一個新的對象。 – Davy8 2011-05-16 20:16:01

1

你爲什麼不只是使用DateTime.Now

2

嘗試DateTime.Now - 它總是會得到當前的時間。

1

當您在DateTime示例中給出特定參數時,您將得到相同的日期/時間。

如果要使用當前時間,並且每次運行該程序時都要更新,請使用DateTime.Now

0

如果代碼看起來像它每次都是一樣的。如果你想在當天使用DateTime.TodayDateTime.Now

0

沒有,DateTime不是任何形式的時鐘對象,它只是代表某一時刻的對象。如果您始終需要及時獲取當前時間,請使用DateTime.Now

1

A 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沒有保持更新,被執行的代碼行,當它僅僅是時間。