C# C、 如何在if语句中使用dateTimePicker的值?
我正在做的工作是找出一个人的星体星座,所以我用dateTimePicker来选择出生日期,但现在我不确定如何从dateTimePicker获取数据来检查它是哪个星座 比如,从1月1日到2月14日,你是这个星座,从这个到那个你是。。。你知道我的意思。有一个属性。其中包含用户选择的日期 如果您希望在用户做出选择时得到通知,只需订阅该属性即可 然后简单地比较给定日期是否在任何星体星座的范围内 为了得到星体符号,我会建立一个嵌套的字典,然后通过C# C、 如何在if语句中使用dateTimePicker的值?,c#,visual-studio-2008,C#,Visual Studio 2008,我正在做的工作是找出一个人的星体星座,所以我用dateTimePicker来选择出生日期,但现在我不确定如何从dateTimePicker获取数据来检查它是哪个星座 比如,从1月1日到2月14日,你是这个星座,从这个到那个你是。。。你知道我的意思。有一个属性。其中包含用户选择的日期 如果您希望在用户做出选择时得到通知,只需订阅该属性即可 然后简单地比较给定日期是否在任何星体星座的范围内 为了得到星体符号,我会建立一个嵌套的字典,然后通过 selectedSign = astralSigns[pi
selectedSign = astralSigns[pickedDate.Month][pickedDate.Day];
这家公司有自己的财产。其中包含用户选择的日期
如果您希望在用户做出选择时得到通知,只需订阅该属性即可
然后简单地比较给定日期是否在任何星体星座的范围内
为了得到星体符号,我会建立一个嵌套的字典,然后通过
selectedSign = astralSigns[pickedDate.Month][pickedDate.Day];
DateTimePicker中没有实现此功能的内置功能。您必须使用if-else方法或switch语句来确定特定日期属于哪个符号 DateTimePicker中没有实现此功能的内置功能。您必须使用if-else方法或switch语句来确定特定日期属于哪个符号 如果您的DateTimePicker被称为DateTimePicker,您可以这样做:
DateTime pickedDate = new DateTime(dateTimePicker.Value.Year, dateTimePicker.Value.Month, dateTimePicker.Value.Day);
然后您可以根据需要使用pickedDate。如果您的DateTimePicker被称为DateTimePicker,您可以这样做:
DateTime pickedDate = new DateTime(dateTimePicker.Value.Year, dateTimePicker.Value.Month, dateTimePicker.Value.Day);
然后你可以根据需要使用PickeDate。黄道带星座没有内置功能,因此我建议你为黄道带星座创建自己的列表 比较一个日期,其中zodia部分可以与DatePicker dateTimePicker1.value中选择的Datetime值的DayOfYear部分一起使用
因此,0到46可能是你的第一个生肖,将其与DayOfYear部分进行比较,你将得到你的生肖,否则,在比较DateTime对象时,年份将是一个问题生肖没有内置功能,因此我建议你为生肖创建自己的列表 比较一个日期,其中zodia部分可以与DatePicker dateTimePicker1.value中选择的Datetime值的DayOfYear部分一起使用
因此,0到46可能是你的第一个生肖,将其与DayOfYear部分进行比较,你将得到你的生肖,否则,在比较DateTime对象时,年份将是一个问题,你不关心年份。您只需要月份和日期值:
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 */)
{
// ...
}
你不关心这一年。您只需要月份和日期值:
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 */)
{
// ...
}
错误,日期选择器控件没有此信息。您必须编写自己的算法来计算符号,或者使用第三方组件来计算符号。当然,除非你只是想知道如何获取日期值本身,这可以通过访问value属性来实现;错误,日期选择器控件没有此信息。您必须编写自己的算法来计算符号,或者使用第三方组件来计算符号。当然,除非你只是想知道如何获取日期值本身,这可以通过访问value属性来实现;如果其他的都是好的。但如果使用switch,则必须处理这些值,因为它只接受可为null的类型。但如果使用switch,则必须处理这些值,因为它只接受可为null的类型。dateTimePicker.Value已经是DateTime类型。我遗漏了什么?对不起,在我的代码中,我将它和时间选择器中的时间组合在一起,所以我必须创建一个新的日期时间来同时包含这两者。当我回答时,我只是删掉了时间位,但应该使用dateTimePicker.Value,就像你说的那样。dateTimePicker.Value已经是DateTime类型。我遗漏了什么?对不起,在我的代码中,我将它和时间选择器中的时间组合在一起,所以我必须创建一个新的日期时间来同时包含这两者。当我回答时,我只是删掉了时间位,但应该像你说的那样使用dateTimePicker.Value。