From 4566a84d96e10d2ab23f004db1bb3738f39c0b44 Mon Sep 17 00:00:00 2001
From: FalconFly <12919280+falconfly@user.noreply.gitee.com>
Date: Fri, 22 Mar 2024 16:20:56 +0800
Subject: [PATCH] =?UTF-8?q?Datetime=E5=A2=9E=E5=8A=A0Between=E6=96=B9?=
=?UTF-8?q?=E6=B3=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Falcon.SugarApi/DateTimeExtend.cs | 34 +++++++++++++++++++++----------
1 file changed, 23 insertions(+), 11 deletions(-)
diff --git a/Falcon.SugarApi/DateTimeExtend.cs b/Falcon.SugarApi/DateTimeExtend.cs
index 992cc7e..908d3dc 100644
--- a/Falcon.SugarApi/DateTimeExtend.cs
+++ b/Falcon.SugarApi/DateTimeExtend.cs
@@ -16,8 +16,8 @@ namespace Falcon.SugarApi
/// 日期
/// 查询选项
/// 符合条件日期
- public static DateTime GetDay(this DateTime date, DateOption option) {
- date = option.RetentionTime ? date : new DateTime(date.Year, date.Month, date.Day, 0, 0, 0);
+ public static DateTime GetDay(this DateTime date,DateOption option) {
+ date = option.RetentionTime ? date : new DateTime(date.Year,date.Month,date.Day,0,0,0);
var drt = option.DateRangeType;
var dt = option.DateType;
var firstDayOfWeek = option.DayOfWeek;
@@ -26,8 +26,8 @@ namespace Falcon.SugarApi
drt == DateRangeType.Weekly && dt == DateType.LastDay ? date.AddDays(firstDayOfWeek - date.DayOfWeek + 7) :
drt == DateRangeType.Monthly && dt == DateType.FirstDay ? date.AddDays(1 - date.Day) :
drt == DateRangeType.Monthly && dt == DateType.LastDay ? date.AddDays(1 - date.Day).AddMonths(1).AddDays(-1) :
- drt == DateRangeType.Yearly && dt == DateType.FirstDay ? new DateTime(date.Year, 1, 1) :
- drt == DateRangeType.Yearly && dt == DateType.LastDay ? new DateTime(date.Year, 1, 1).AddYears(1).AddDays(-1) :
+ drt == DateRangeType.Yearly && dt == DateType.FirstDay ? new DateTime(date.Year,1,1) :
+ drt == DateRangeType.Yearly && dt == DateType.LastDay ? new DateTime(date.Year,1,1).AddYears(1).AddDays(-1) :
throw new NotSupportedException("不支持这个日期查询");
}
@@ -47,8 +47,8 @@ namespace Falcon.SugarApi
/// 本周的一天
/// 默认第一天是星期几
/// 本周第一天
- public static DateTime GetFirstDayOfTheWeek(this DateTime date, DayOfWeek firstDayOfWeek = DayOfWeek.Monday) {
- return date.GetDay(new DateOption { DateRangeType = DateRangeType.Weekly, DateType = DateType.FirstDay, DayOfWeek = firstDayOfWeek, });
+ public static DateTime GetFirstDayOfTheWeek(this DateTime date,DayOfWeek firstDayOfWeek = DayOfWeek.Monday) {
+ return date.GetDay(new DateOption { DateRangeType = DateRangeType.Weekly,DateType = DateType.FirstDay,DayOfWeek = firstDayOfWeek,});
}
///
@@ -57,7 +57,7 @@ namespace Falcon.SugarApi
/// 日期
/// 日期
public static DateTime GetFirstDayOfTheMonth(this DateTime date) {
- return date.GetDay(new DateOption { DateRangeType = DateRangeType.Monthly, DateType = DateType.FirstDay });
+ return date.GetDay(new DateOption { DateRangeType = DateRangeType.Monthly,DateType = DateType.FirstDay });
}
///
@@ -66,7 +66,7 @@ namespace Falcon.SugarApi
/// 日期
/// 日期
public static DateTime GetFirstDayOfTheYear(this DateTime date) {
- return date.GetDay(new DateOption { DateRangeType = DateRangeType.Yearly, DateType = DateType.FirstDay });
+ return date.GetDay(new DateOption { DateRangeType = DateRangeType.Yearly,DateType = DateType.FirstDay });
}
///
@@ -75,8 +75,8 @@ namespace Falcon.SugarApi
/// 日期
/// 第一天是星期几
/// 第几周
- public static int GetWeekOfTheYear(this DateTime date, DayOfWeek firstDayOfWeek = DayOfWeek.Monday) {
- return date.GetDefaultCalendar().GetWeekOfYear(date, CalendarWeekRule.FirstDay, firstDayOfWeek);
+ public static int GetWeekOfTheYear(this DateTime date,DayOfWeek firstDayOfWeek = DayOfWeek.Monday) {
+ return date.GetDefaultCalendar().GetWeekOfYear(date,CalendarWeekRule.FirstDay,firstDayOfWeek);
}
///
@@ -137,12 +137,24 @@ namespace Falcon.SugarApi
public static string ToDateTime(this DateTime date) => date.ToString("yyyy-MM-dd HH:mm:ss");
#endregion
+
+ ///
+ /// 时间是否处于某个时间段内
+ ///
+ /// 要判断的时间
+ /// 开始时间
+ /// 结束时间
+ /// True是,False否
+ public static bool Between(this DateTime? dt,DateTime start,DateTime? end = null) {
+ end ??= DateTime.Now;
+ return dt > start && dt <= end;
+ }
}
///
/// 日期操作选项
///
- public class DateOption : IOptions
+ public class DateOption:IOptions
{
///
/// 日期类型,默认第一天