2013-06-20 122 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