C# 我如何确定本月的第一个或第三个星期三是否尚未到达,如果是,哪一个星期三距离当前日期最近?
可能重复:C# 我如何确定本月的第一个或第三个星期三是否尚未到达,如果是,哪一个星期三距离当前日期最近?,c#,asp.net,C#,Asp.net,可能重复: 我以前曾经在中提到过这个问题,但由于当时我没有很好地解释我的问题,我必须再试一次: 我的目标很简单:按下一个按钮(这里称为“Button1”),我必须确定今天的日期是在一个月的第一个星期三还是第三个星期三之前。如果是这种情况,我必须将标签文本(此处称为“lblDate”)设置为未来星期三中距离当前日期最近的日期 到目前为止,我写了以下内容: protected void Button1_Click(object sender, EventArgs e) { DateTim
我以前曾经在中提到过这个问题,但由于当时我没有很好地解释我的问题,我必须再试一次: 我的目标很简单:按下一个按钮(这里称为“Button1”),我必须确定今天的日期是在一个月的第一个星期三还是第三个星期三之前。如果是这种情况,我必须将标签文本(此处称为“lblDate”)设置为未来星期三中距离当前日期最近的日期 到目前为止,我写了以下内容:
protected void Button1_Click(object sender, EventArgs e)
{
DateTime Now = DateTime.Today;
DateTime TempDate = new DateTime(Now.Year, Now.Month, 1);
if (TempDate.DayOfWeek != DayOfWeek.Wednesday)
{
TempDate = TempDate.AddDays(1);
string date = TempDate.ToString();
lblDate.Text = date;
}
if (TempDate == TempDate.AddDays(1))
{
TempDate = TempDate.AddDays(14);
string date = TempDate.ToString();
lblDate.Text = date;
}
}
正如你所看到的,有些东西不见了。如果您能帮我填写,我将不胜感激。我不确定这是否能回答您的问题,但这可能会让您走上正确的道路。您可以通过DateTime功能计算一周中的哪一天。只需使用类似于:
DateTime dateValue = new DateTime(2008, 6, 11);
Console.WriteLine((int) dateValue.DayOfWeek); // Displays 3
将其与实际日期结合使用,例如:
if((int) dateValue.DayOfWeek == 3) //which is Wednesday
if(date < 7 && date > 1)
week == 1st Weds of month
else(date < 21 && date > 14)
week == 3rd Weds of month
if((int)dateValue.DayOfWeek==3)//哪一天是星期三
如果(日期<7&&日期>1)
周==本月的第一个星期三
其他(日期<21和日期>14)
周==本月的第三个星期三
这显然不是精确的代码,但也许类似的东西会有所帮助。你必须稍微调整一下参数,以适应第一次,而不是正好在周一。因为一周只有七天,即使第一天在星期二,它也在1和7之间,14和21也是如此。但是,只要好好玩玩,你就会很快找到答案 我不能完全肯定这会回答你的问题,但它可能会让你走上正轨。您可以通过DateTime功能计算一周中的哪一天。只需使用类似于:
DateTime dateValue = new DateTime(2008, 6, 11);
Console.WriteLine((int) dateValue.DayOfWeek); // Displays 3
将其与实际日期结合使用,例如:
if((int) dateValue.DayOfWeek == 3) //which is Wednesday
if(date < 7 && date > 1)
week == 1st Weds of month
else(date < 21 && date > 14)
week == 3rd Weds of month
if((int)dateValue.DayOfWeek==3)//哪一天是星期三
如果(日期<7&&日期>1)
周==本月的第一个星期三
其他(日期<21和日期>14)
周==本月的第三个星期三
这显然不是精确的代码,但也许类似的东西会有所帮助。你必须稍微调整一下参数,以适应第一次,而不是正好在周一。因为一周只有七天,即使第一天在星期二,它也在1和7之间,14和21也是如此。但是,只要好好玩玩,你就会很快找到答案 您也可以这样尝试:
protected DateTime getFirstWednesdayOfMonth(DateTime seedDate)
{
DateTime wed1 = new DateTime(seedDate.Year, seedDate.Month, 1); //1st Wednesday can start on the 1st of the month
while (wed1.DayOfWeek != DayOfWeek.Wednesday)
{
wed1 = wed1.AddDays(1);
}
return wed1;
}
protected DateTime getThirdWednesdayOfMonth(DateTime seedDate)
{
DateTime wed3 = new DateTime(seedDate.Year, seedDate.Month, 15); //3rd Wednesday cannot start prior to the 15th of the month
while (wed3.DayOfWeek != DayOfWeek.Wednesday)
{
wed3 = wed3.AddDays(1);
}
return wed3;
}
protected void Button1_Click(object sender, EventArgs e)
{
DateTime Now = DateTime.Today;
DateTime wed1 = getFirstWednesdayOfMonth(Now);
DateTime wed3 = getThirdWednesdayOfMonth(Now);
if (Now < wed1)
{
lblDate.Text = wed1.ToString();
}
else if (Now < wed3)
{
lblDate.Text = wed3.ToString();
}
}
protecteddatetime getFirstWednesdayOfMonth(DateTime-seedDate)
{
DateTime wed1=新的日期时间(seedDate.Year,seedDate.Month,1);//第一个星期三可以从该月的第一天开始
while(wed1.DayOfWeek!=DayOfWeek.周三)
{
wed1=wed1。添加天数(1);
}
返回星期三1;
}
受保护的日期时间getThirdWednesdayOfMonth(日期时间种子日期)
{
DateTime wed3=新的日期时间(seedDate.Year,seedDate.Month,15);//第三个星期三不能在该月的15号之前开始
while(wed3.DayOfWeek!=DayOfWeek.周三)
{
wed3=wed3.AddDays(1);
}
周三返回;
}
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
DateTime Now=DateTime.Today;
DateTime wed1=getFirstWednesdayOfMonth(现在);
DateTime wed3=getThirdWednesdayOfMonth(现在);
如果(现在
您也可以这样尝试:
protected DateTime getFirstWednesdayOfMonth(DateTime seedDate)
{
DateTime wed1 = new DateTime(seedDate.Year, seedDate.Month, 1); //1st Wednesday can start on the 1st of the month
while (wed1.DayOfWeek != DayOfWeek.Wednesday)
{
wed1 = wed1.AddDays(1);
}
return wed1;
}
protected DateTime getThirdWednesdayOfMonth(DateTime seedDate)
{
DateTime wed3 = new DateTime(seedDate.Year, seedDate.Month, 15); //3rd Wednesday cannot start prior to the 15th of the month
while (wed3.DayOfWeek != DayOfWeek.Wednesday)
{
wed3 = wed3.AddDays(1);
}
return wed3;
}
protected void Button1_Click(object sender, EventArgs e)
{
DateTime Now = DateTime.Today;
DateTime wed1 = getFirstWednesdayOfMonth(Now);
DateTime wed3 = getThirdWednesdayOfMonth(Now);
if (Now < wed1)
{
lblDate.Text = wed1.ToString();
}
else if (Now < wed3)
{
lblDate.Text = wed3.ToString();
}
}
protecteddatetime getFirstWednesdayOfMonth(DateTime-seedDate)
{
DateTime wed1=新的日期时间(seedDate.Year,seedDate.Month,1);//第一个星期三可以从该月的第一天开始
while(wed1.DayOfWeek!=DayOfWeek.周三)
{
wed1=wed1。添加天数(1);
}
返回星期三1;
}
受保护的日期时间getThirdWednesdayOfMonth(日期时间种子日期)
{
DateTime wed3=新的日期时间(seedDate.Year,seedDate.Month,15);//第三个星期三不能在该月的15号之前开始
while(wed3.DayOfWeek!=DayOfWeek.周三)
{
wed3=wed3.AddDays(1);
}
周三返回;
}
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
DateTime Now=DateTime.Today;
DateTime wed1=getFirstWednesdayOfMonth(现在);
DateTime wed3=getThirdWednesdayOfMonth(现在);
如果(现在
上一个问题关闭后,请不要再问你的问题。我已经说过,我也问过一个问题。如果(TempDate==TempDate.AddDays(1))
。。。嗯……请不要在上一个问题结束后再问你的问题。我已经说过,我也问过了。if(TempDate==TempDate.AddDays(1))
。。。嗯……我想我现在走上正轨了:)谢谢!我想我现在走上正轨了:)谢谢!没有输出,未设置标签。只是更正了一些错误。它很管用,谢谢!没有输出,未设置标签。只是更正了一些错误。它很管用,谢谢!