/// <summary> /// 获取此实例所表示的日期是该季度中的第几周 /// </summary> /// <param name="this">给定的日期(年月日)</param> /// <returns>该季度中的第几周</returns> public static int WeekOfQuarter(this in DateOnly @this) { // 该季度的第一天 var firstDay = DateOnlyHelper.GetDateQuarter(@this).firstDay; int week = @this.WeekOfYear(); week = week - firstDay.WeekOfYear() + 1; return(week); }
/// <summary> /// 获取此实例所表示的日期是该季度中的第几月 /// </summary> /// <param name="this">给定的日期(年月日)</param> /// <returns>该季度中的第几月</returns> public static int MonthOfQuarter(this in DateOnly @this) { var firstDay = DateOnlyHelper.GetDateQuarter(@this).firstDay; // 该季度的第一天 return(@this.Month - firstDay.Month + 1); }
/// <summary> /// 获取此实例所表示的日期是该季度中的第几天 /// </summary> /// <param name="this">给定的日期(年月日)</param> /// <returns>该季中的第几天</returns> public static int DayOfQuarter(this in DateOnly @this) { var firstDay = DateOnlyHelper.GetDateQuarter(@this).firstDay; // 该季度的第一天 return((@this.ToDateTime(TimeOnly.MinValue) - firstDay.ToDateTime(TimeOnly.MinValue)).Days + 1); }
/// <summary> /// 获取此实例所表示的日期所在月的周数 /// </summary> /// <param name="this">给定的日期(年月日)</param> /// <returns>所在季度的周数</returns> public static int WeeksOfMonth(this in DateOnly @this) { var lastDay = DateOnlyHelper.GetDateMonth(@this).lastDay; return(lastDay.WeekOfMonth()); }
/// <summary> /// 获取此实例所表示的日期所在季度的周数 /// </summary> /// <param name="this">给定的日期(年月日)</param> /// <returns>所在季度的周数</returns> public static int WeeksOfQuarter(this in DateOnly @this) { var lastDay = DateOnlyHelper.GetDateQuarter(@this).lastDay; // 该季度的最后一天 return(lastDay.WeekOfQuarter()); }