2013-06-20 164 views
-6

我要回天的名稱,如SaturdayMonday 我用這個代碼:返回天名稱

DateTime date = new DateTime(DateTime.Now.Date.Day); 

MessageBox.Show(date.DayOfWeek.ToString()); 

但它不工作,它返回當天的名稱,但不正確 一天,當我在我的計算機上更改日期仍然當天返回

+1

你爲什麼做'新的DateTime(DateTime.Now.Date.Day)'?你期望做什麼? 'Day'返回一個介於1和31之間的數字,表示當月的某一天。接受單個數字的構造函數期望從01月01日午夜開始發生的刻度數。 –

+0

DateTime date = new DateTime(DateTime.Now); – ilansch

+0

您應該閱讀['DateTime.DayOfWeek']的另一個文檔(http://msdn.microsoft.com/zh-cn/library/system.datetime.dayofweek%28v=vs.110%29.aspx) –

回答

4

而是嘗試像

MessageBox.Show(DateTime.Today.DayOfWeek.ToString()); 

DateTime.Today Property

獲取當前日期。

您的問題是

DateTime date = new DateTime(DateTime.Now.Date.Day); 

評估爲

{01/Jan/0001 12:00:00 AM} 

您使用的構造是DateTime Constructor (Int64)

初始化的DateTime結構的新實例到指定 蜱的數量。

0

這條線:

DateTime date = new DateTime(DateTime.Now.Date.Day) 

應該是:

DateTime date = new DateTime(DateTime.Now) 

你把一天的日期變量,很可能將在1900年

+3

' DateTime date = DateTime.Now'就可以做到。 – joe