我正在做的工作是找出一个星号,所以我把dateTimePicker用来选择出生日期,但是现在我不知道如何从该dateTimePicker获取数据以检查哪个符号是它...
例如,从1月1日到2月14日,你就是这个标志,从这个到你是......你知道我的意思。
答案 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
个对象时会出现问题)