C# 如何确定日期是否介于当前周日期之间?

C# 如何确定日期是否介于当前周日期之间?,c#,C#,在C#中 我们如何将特定日期与周内日期进行核对 例如:2014年2月6日 当前周:2014年2月2日-2014年2月8日 所以这个日期是在一周以上….嗯 public bool isBetween(DateTime input, DateTime date1, DateTime date2) { if (input > date1 && input < date2) return true; else

在C#中

我们如何将特定日期与周内日期进行核对

例如:2014年2月6日

当前周:2014年2月2日-2014年2月8日

所以这个日期是在一周以上….

public bool isBetween(DateTime input, DateTime date1, DateTime date2)
    {
        if (input > date1 && input < date2)
            return true;
        else
            return false;
    }
public bool isBetween(日期时间输入、日期时间日期1、日期时间日期2)
{
如果(输入>日期1&&input<日期2)
返回true;
其他的
返回false;
}
?

输入=您的日期 date1和date2=一周的开始和结束

public bool isBetween(DateTime input, DateTime date1, DateTime date2)
    {
        if (input > date1 && input < date2)
            return true;
        else
            return false;
    }
public bool isBetween(日期时间输入、日期时间日期1、日期时间日期2)
{
如果(输入>日期1&&input<日期2)
返回true;
其他的
返回false;
}
?

输入=您的日期 date1&date2=一周的开始和结束

如何:

bool inRange = (date >= lowerDate && date <= upperDate);
bool inRange=(date>=lowerDate&&date

bool inRange = (date >= lowerDate && date <= upperDate);
bool inRange=(date>=lowerDate&&date使用此参数进行检查(如果希望始终从fromDate算起1周,则最后一个参数是可选的,不需要使用最后一个参数):

首先搜索:)答案也在这里:

如果要检查日期是否在同一周内,则可以使用以下方法:

public static bool DateInsideOneWeek(DateTime checkDate, DateTime referenceDate)
{
    // get first day of week from your actual culture info, 
    DayOfWeek firstWeekDay = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek;
    // or you can set exactly what you want: firstWeekDay = DayOfWeek.Monday;
    // calculate first day of week from your reference date
    DateTime startDateOfWeek = referenceDate;
    while(startDateOfWeek.DayOfWeek != firstWeekDay)
    { startDateOfWeek = startDateOfWeek.AddDays(-1d); }
    // fist day of week is find, then find last day of reference week
    DateTime endDateOfWeek = startDateOfWeek.AddDays(6d);
    // and check if checkDate is inside this period
    return checkDate >= startDateOfWeek && checkDate <= endDateOfWeek;
}
您可以调用此方法来检查一个日期是否与referential在同一周内,如下所示:

DateInsideOneWeek(new DateTime(2014, 02, 02), new DateTime(2014, 02, 06));
您可以使用以下代码查找当前周的开始和结束日期:

DateTime startDateOfWeek = DateTime.Now.Date; // start with actual date
while(startDateOfWeek.DayOfWeek != DayOfWeek.Monday) // set first day of week in your country
{ startDateOfWeek = startDateOfWeek.AddDays(-1d); } // after this while loop you get first day of actual week
DateTime endDateOfWeek = startDateOfWeek.AddDays(6d); // you just find last week day
这是您想要的吗?

使用此参数进行检查(最后一个参数是可选的,如果您希望始终从fromDate开始1周,则不需要使用最后一个参数):

首先搜索:)答案也在这里:

如果要检查日期是否在同一周内,则可以使用以下方法:

public static bool DateInsideOneWeek(DateTime checkDate, DateTime referenceDate)
{
    // get first day of week from your actual culture info, 
    DayOfWeek firstWeekDay = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek;
    // or you can set exactly what you want: firstWeekDay = DayOfWeek.Monday;
    // calculate first day of week from your reference date
    DateTime startDateOfWeek = referenceDate;
    while(startDateOfWeek.DayOfWeek != firstWeekDay)
    { startDateOfWeek = startDateOfWeek.AddDays(-1d); }
    // fist day of week is find, then find last day of reference week
    DateTime endDateOfWeek = startDateOfWeek.AddDays(6d);
    // and check if checkDate is inside this period
    return checkDate >= startDateOfWeek && checkDate <= endDateOfWeek;
}
您可以调用此方法来检查一个日期是否与referential在同一周内,如下所示:

DateInsideOneWeek(new DateTime(2014, 02, 02), new DateTime(2014, 02, 06));
您可以使用以下代码查找当前周的开始和结束日期:

DateTime startDateOfWeek = DateTime.Now.Date; // start with actual date
while(startDateOfWeek.DayOfWeek != DayOfWeek.Monday) // set first day of week in your country
{ startDateOfWeek = startDateOfWeek.AddDays(-1d); } // after this while loop you get first day of actual week
DateTime endDateOfWeek = startDateOfWeek.AddDays(6d); // you just find last week day
这是您想要的吗?

这里有另一个解决方案:)

公共静态类日期扩展
{
专用静态无效交换(参考T 1,参考T 2)
{
var-temp=1;
一等于二;
二=温度;
}
公共静态bool来自SameWeek(此DateTime第一,DateTime第二,DayOfWeek firstDayOfWeek=DayOfWeek.Monday)
{
//排序日期
如果(第一次>第二次)
{
交换(参考第一,参考第二);
}
var daysDiff=(第二个-第一个).TotalDays;
如果(daysDiff>=7)
{
返回false;
}
const int TotalDaysInWeek=7;
var调整后的DayOfWeekFirst=(int)first.DayOfWeek+(first.DayOfWeek=adjustedDayOfWeekFirst;
}
}
Upd:它的性能似乎至少比@Atiris solution:)好两倍。

还有一个解决方案:)

公共静态类日期扩展
{
专用静态无效交换(参考T 1,参考T 2)
{
var-temp=1;
一等于二;
二=温度;
}
公共静态bool来自SameWeek(此DateTime第一,DateTime第二,DayOfWeek firstDayOfWeek=DayOfWeek.Monday)
{
//排序日期
如果(第一次>第二次)
{
交换(参考第一,参考第二);
}
var daysDiff=(第二个-第一个).TotalDays;
如果(daysDiff>=7)
{
返回false;
}
const int TotalDaysInWeek=7;
var调整后的DayOfWeekFirst=(int)first.DayOfWeek+(first.DayOfWeek=adjustedDayOfWeekFirst;
}
}

Upd:它的性能似乎至少比@Atiris solution:)好两倍。

您认为本周是如何开始的?星期天?星期一?你问什么还不是100%清楚。你能提供一个更详细的描述吗?可能重复:(问题的同一作者)你认为这周是如何开始的?星期天?星期一?你问什么还不是100%清楚。你能提供一个更详细的描述吗?可能重复的:(问题的同一作者)仅在上面举例。我们需要找到第一个wat都是当前的星期天,然后需要检查相应的给定日期?是的,但这是一项非常简单的任务。您可以得到一周中的当前日期,从中您可以计算开始日期和结束日期,例如,仅在上面。我们需要找到第一个wat都是当前的星期天,然后需要检查相应的给定日期?是的,但这是一项非常简单的任务。你可以得到一周中的当前日期,从中你可以计算开始日期和结束日期。我想OP想要得到给定的日期有哪些周(以及本周开始和结束的日期)。当然,这个问题一点也不清楚。@SonerGönül-可能。现在还不是100%清楚被问到了什么:-(我想OP想要得到给定的日期是哪几周(以及这周的开始和结束日期)。当然问题一点也不清楚。@SonerGönül-可能。现在还不是100%清楚被问到了什么:-(我们必须如何找到当前的星期日期?然后在星期日期中检查相应的日期?我扩展了我的答案,以获得我认为您想要的。请检查这是否是您想要的,如果不是,请修改您的问题并解释它。我们必须如何找到当前的星期日期?然后在星期日期中检查相应的日期?我扩展了我的答案,以获得什么我想你想要。请检查这是否是你想要的,如果不是,修改你的问题并解释它。