초기커밋
This commit is contained in:
97
UGQDataAccess/DateRange.cs
Normal file
97
UGQDataAccess/DateRange.cs
Normal file
@@ -0,0 +1,97 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace UGQDataAccess;
|
||||
|
||||
|
||||
public struct DateRange
|
||||
{
|
||||
public DateTime Start { get; set; }
|
||||
public DateTime End { get; set; }
|
||||
}
|
||||
|
||||
public static class DataRangeHelper
|
||||
{
|
||||
public static DateRange ThisYear(DateTime date)
|
||||
{
|
||||
DateRange range = new DateRange();
|
||||
|
||||
range.Start = new DateTime(date.Year, 1, 1);
|
||||
range.End = range.Start.AddYears(1).AddSeconds(-1);
|
||||
|
||||
return range;
|
||||
}
|
||||
|
||||
public static DateRange LastYear(DateTime date)
|
||||
{
|
||||
DateRange range = new DateRange();
|
||||
|
||||
range.Start = new DateTime(date.Year - 1, 1, 1);
|
||||
range.End = range.Start.AddYears(1).AddSeconds(-1);
|
||||
|
||||
return range;
|
||||
}
|
||||
|
||||
public static DateRange ThisMonth(DateTime date)
|
||||
{
|
||||
DateRange range = new DateRange();
|
||||
|
||||
range.Start = new DateTime(date.Year, date.Month, 1);
|
||||
range.End = range.Start.AddMonths(1).AddSeconds(-1);
|
||||
|
||||
return range;
|
||||
}
|
||||
|
||||
public static DateRange LastMonth(DateTime date)
|
||||
{
|
||||
DateRange range = new DateRange();
|
||||
|
||||
range.Start = (new DateTime(date.Year, date.Month, 1)).AddMonths(-1);
|
||||
range.End = range.Start.AddMonths(1).AddSeconds(-1);
|
||||
|
||||
return range;
|
||||
}
|
||||
|
||||
public static DateRange ThisWeek(DateTime date)
|
||||
{
|
||||
DateRange range = new DateRange();
|
||||
|
||||
range.Start = date.Date.AddDays(-(int)date.DayOfWeek);
|
||||
range.End = range.Start.AddDays(7).AddSeconds(-1);
|
||||
|
||||
return range;
|
||||
}
|
||||
|
||||
public static DateRange LastWeek(DateTime date)
|
||||
{
|
||||
DateRange range = ThisWeek(date);
|
||||
|
||||
range.Start = range.Start.AddDays(-7);
|
||||
range.End = range.End.AddDays(-7);
|
||||
|
||||
return range;
|
||||
}
|
||||
|
||||
public static DateRange Today(DateTime date)
|
||||
{
|
||||
DateRange range = new DateRange();
|
||||
|
||||
range.Start = new DateTime(date.Year, date.Month, date.Day);
|
||||
range.End = range.Start.AddDays(1).AddSeconds(-1);
|
||||
|
||||
return range;
|
||||
}
|
||||
|
||||
public static DateRange Yesterday(DateTime date)
|
||||
{
|
||||
DateRange range = Today(date);
|
||||
|
||||
range.Start = range.Start.AddDays(-1);
|
||||
range.End = range.End.AddDays(-1);
|
||||
|
||||
return range;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user