/// <summary>明天范围</summary> /// <param name="field">字段</param> /// <returns></returns> public static Expression Tomorrow(this FieldItem field) { //var fromDateStart = DateTime.Parse(String.Format("{0:yyyy-MM-dd 00:00:00}", DateTime.Now.AddDays(1))); //var fromDateEnd = DateTime.Parse(String.Format("{0:yyyy-MM-dd 00:00:00}", DateTime.Now.AddDays(1))); //return field.Between(fromDateStart, fromDateEnd); var date = DateTime.Now.Date.AddDays(1); return(field.Between(date, date)); }
/// <summary>未来天数范围</summary> /// <param name="field">字段</param> /// <param name="days"></param> /// <returns></returns> public static Expression NextDays(this FieldItem field, Int32 days) { //var fromDateStart = DateTime.Parse(String.Format("{0:yyyy-MM-dd} 00:00:00", DateTime.Now.AddDays(1))); //var fromDateEnd = DateTime.Parse(String.Format("{0:yyyy-MM-dd} 00:00:00", DateTime.Now.AddDays(days))); //return field.Between(fromDateStart, fromDateEnd); var date = DateTime.Now.Date; return(field.Between(date, date.AddDays(days))); }
/// <summary>下季度范围</summary> /// <param name="field">字段</param> /// <returns></returns> public static Expression NextQuarter(this FieldItem field) { //var fromDateStart = DateTime.Parse(String.Format("{0:yyyy-MM}-01 00:00:00", DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)))); //var fromDateEnd = DateTime.Parse(String.Format("{0:yyyy-MM-dd} 00:00:00", DateTime.Parse(DateTime.Now.AddMonths(6 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")))).AddDays(-1); //return field.Between(fromDateStart, fromDateEnd); var now = DateTime.Now; var month = new DateTime(now.Year, now.Month - (now.Month - 1) % 3, 1).AddMonths(3); return(field.Between(month, month.AddMonths(3).AddDays(-1))); }
/// <summary>下月范围</summary> /// <param name="field">字段</param> /// <returns></returns> public static Expression NextMonth(this FieldItem field) { //var fromDateStart = DateTime.Parse(String.Format("{0:yyyy-MM}-01 00:00:00", DateTime.Now.AddMonths(1))); //var fromDateEnd = DateTime.Parse(String.Format("{0:yyyy-MM}-01 00:00:00", DateTime.Now.AddMonths(2))).AddDays(-1); //return field.Between(fromDateStart, fromDateEnd); var now = DateTime.Now; var month = new DateTime(now.Year, now.Month, 1).AddMonths(1); return(field.Between(month, month.AddMonths(1).AddDays(-1))); }
/// <summary>下周范围</summary> /// <param name="field">字段</param> /// <returns></returns> public static Expression NextWeek(this FieldItem field) { //var fromDateStart = DateTime.Parse(String.Format("{0:yyyy-MM-dd} 00:00:00", DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7))); //var fromDateEnd = DateTime.Parse(String.Format("{0:yyyy-MM-dd} 00:00:00", DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7))); //return field.Between(fromDateStart, fromDateEnd); var date = DateTime.Now.Date; var day = (Int32)date.DayOfWeek; return(field.Between(date.AddDays(-1 * day + 7), date.AddDays(6 - day + 7))); }
private WhereExpression Search(DateTime start, DateTime end, string key, PageParameter page, int role) { WhereExpression whereExpression = Entity <PublishInfo> .SearchWhereByKeys(key, (FieldItem[])null, (Func <string, FieldItem[], WhereExpression>) null); if (start > DateTime.MinValue || end > DateTime.MinValue) { FieldItem masterTime = Entity <PublishInfo> .Meta.Factory.MasterTime; if (masterTime != null) { whereExpression = (Expression)whereExpression & masterTime.Between(start, end); } } whereExpression &= PublishInfo._.Role.Equal(role); return(whereExpression); }