C# 在C中的两个特定日期时间截止日期前的最后3周#
我有两个日期作为开始日期和结束日期。我需要在我设定的结束日期/截止日期前3周发送提醒C# 在C中的两个特定日期时间截止日期前的最后3周#,c#,datetime,week-number,C#,Datetime,Week Number,我有两个日期作为开始日期和结束日期。我需要在我设定的结束日期/截止日期前3周发送提醒 var start= DateTime.Now; var end = new DateTime(2016, 10, 25); var timeParts = StartEndDate.Split(new char[1] { ':' }); var eventstartDate = new DateTime(start.Year, start.Month, start.Day, int.Parse(timePa
var start= DateTime.Now;
var end = new DateTime(2016, 10, 25);
var timeParts = StartEndDate.Split(new char[1] { ':' });
var eventstartDate = new DateTime(start.Year, start.Month, start.Day,
int.Parse(timeParts[0]), int.Parse(timeParts[1]), int.Parse(timeParts[2]));
var eventEnDate = new DateTime(end .Year, end .Month, end .Day,
int.Parse(timeParts[0]), int.Parse(timeParts[1]), int.Parse(timeParts[2]));
TimeSpan ts = eventEnDate - eventstartDate;
int totaldays = ts.Days;
int totalWeeks = totaldays / 7;
//Add 7 days for each loop until end date
for (DateTime ds= start; ds< eventEnDate; ds= ds.AddDays(7))
{
//DO something so to get last 3 week prior to end date to set reminder
}
var start=DateTime.Now;
var end=新日期时间(2016年10月25日);
var timeParts=StartEndDate.Split(新字符[1]{':'});
var eventstartDate=新日期时间(start.Year、start.Month、start.Day、,
int.Parse(timeParts[0])、int.Parse(timeParts[1])、int.Parse(timeParts[2]);
var eventEnDate=新日期时间(年底、月底、日、,
int.Parse(timeParts[0])、int.Parse(timeParts[1])、int.Parse(timeParts[2]);
TimeSpan ts=eventEnDate-eventstartDate;
整数总天数=ts天;
int totalWeeks=总天数/7;
//每个循环增加7天,直到结束日期
for(DateTime ds=start;ds
3周后您的结束日期为21天
var endDateMinusThreeWeeks = end.AddDays(-21);
那么,您的问题是什么?如果您的开始日期晚于(结束日期前21天)该怎么办?这是有效的方案吗?我的意思是说,如果你的开始日期和结束日期之间的差异小于21天,你会怎么做?@VinaySinha我们将有一套规则,至少有12周的时间来创建一个活动。我们将在死亡线前3周开始每周发送提醒,好的,那么@Pheonx的答案是正确的