C#,如何在if语句中使用dateTimePicker的值?

时间:2011-05-23 09:29:19

标签: c# visual-studio-2008

我正在做的工作是找出一个星号,所以我把dateTimePicker用来选择出生日期,但是现在我不知道如何从该dateTimePicker获取数据以检查哪个符号是它...

例如,从1月1日到2月14日,你就是这个标志,从这个到你是......你知道我的意思。

5 个答案:

答案 0 :(得分:2)

你不关心这一年。您只需要月和日值:

DateTimePicker dtp = new DateTimePicker();

int month = dtp.Value.Month;
int day = dtp.Value.Day;

然后,您可以围绕各种星体标志进行if-else陈述:

if (month >= 3 && day >= 20 && month < 4 && day <21 )
{
    return AstralSign.Aries;
}
else if (/* some other sign */)
{
    // ...
}

您也可以为这些标志创建enum

enum AstralSign
{
   ...
   Aries
   ...
}

答案 1 :(得分:1)

DateTimePicker有一个属性Value。这包含用户选择的日期。

如果您希望在用户做出选择时获得通知,只需订阅ValueChanged属性。

然后简单地比较给定日期是否在任何星体符号的范围内。

要获得星体符号,我会建立一个嵌套字典Dictionary<int, Dictionary<int, AstralSign>>,然后可以通过

访问
selectedSign = astralSigns[pickedDate.Month][pickedDate.Day];

答案 2 :(得分:1)

DateTimePicker中没有用于实现此目的的内置功能。您必须使用if-else方法或switch语句来查找特定日期属于哪个标志。

答案 3 :(得分:1)

如果你的DateTimePicker被称为dateTimePicker,你可以这样做:

DateTime pickedDate = new DateTime(dateTimePicker.Value.Year, dateTimePicker.Value.Month, dateTimePicker.Value.Day);

然后你可以根据需要使用pickedDate。

答案 4 :(得分:1)

十二生肖中没有任何内置物品,所以我建议您为十二生肖建立自己的清单。

比较日期属于哪个zodia部分可以与DayOfYear Datetime value中选择的DatePicker的{​​{1}}部分进行比较

所以0到46可能是你的第一个生肖,并将其与dateTimePicker1.Value部分进行比较,你会得到你的星座(否则年份在比较DayOfYear个对象时会出现问题)