2017-07-07 261 views
-1

所以我是新的Windows窗體,我需要當前DateTime。像往常一樣,我使用的語法:C#DateTime.Now返回0001-01-01 00:00:00

class MyClass 
{ 
    private DateTime date; 

    //Constructor omitted 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     date = DateTime.Today; 
    } 
} 

現在,當我火了我的申請,Form1_Load被調用。它將我的DateTime對象初始化爲0001-01-01 00:00:00。現在爲什麼會發生?從未在任何控制檯應用程序中遇到此問題

+2

'DateTime.Today'不是'DateTime.Now',但無論它也不返回'0001-01-01'。邏輯結論:或者'Form1_Load'不*被調用,或者其他事情發生後改變'日期',或者你只是曲解你所看到的。如果'DateTime.Today' *真的*評估爲'0001-01-01 00:00:00',那麼你有一些有趣的事情,但我懷疑你沒有。 –

+2

你確定Form1_Load被調用嗎?你嘗試過調試嗎? – Kirhgoph

+0

WinForms沒有任何變化。你怎麼知道價值本質上是零?你是如何檢查價值的?你調試了應用程序嗎?您是否正在查看錯誤的*數據? –

回答

1

不要省略構造函數(不要刪除構造函數),並嘗試這個

date = DateTime.Today; // date returns 07-07-2017 00:00:00 

OR

date = DateTime.Now; // date returns 07-07-2017 12:42:00