zoukankan      html  css  js  c++  java
  • 获取当前时间的一周列表

     /// <summary>
            /// 获取当前时间的一周列表
            /// </summary>
            /// <param name="time"></param>
            /// <returns></returns>
            public static List<HdisWeek> HdsiWeek(this DateTime time)
            {
                var weekDays = new List<HdisWeek>();
    
                var weekIndex = time.WeekDayIndex(); //获取当前时间的星期索引
                
                for (int index = 1; index <= weekIndex; index++) //从礼拜一到当前星期索引
                {
                    weekDays.Add(new HdisWeek()
                    {
    
                        WeekIndex = index,
                        WeekDate = time.AddDays(index - weekIndex).Date,
                        WeekDay = GetLocalWeekDayChs(index)
                    });
                }
                for (int index = weekIndex+1; index <=7; index++) //当前星期索引到礼拜天
                {
                    weekDays.Add(new HdisWeek()
                    {
                        WeekIndex = index,
                        WeekDate = time.AddDays(index - weekIndex).Date,
                        WeekDay = GetLocalWeekDayChs(index)
                    });
                }
                return weekDays;
            }
    
    
     /// <summary>
            /// 获取该时间的星期索引
            /// </summary>
            /// <param name="time"></param>
            /// <returns></returns>
            public static int WeekDayIndex(this DateTime time)
            {
                var utcIndex = int.Parse(time.DayOfWeek.ToString("D")); //国际索引
                var localIndex = utcIndex == 0 ? 7 : utcIndex; //本地索引
                return localIndex;
            }
    
            /// <summary>
            /// 格式化中文星期
            /// </summary>
            /// <param name="weekIndex"></param>
            /// <returns></returns>
            private static string GetLocalWeekDayChs(int weekIndex)
            {
                switch (weekIndex)
                {
                    case 1:
                        return "周一";
                    case 2:
                        return "周二";
                    case 3:
                        return "周三";
                    case 4:
                        return "周四";
                    case 5:
                        return "周五";
                    case 6:
                        return "周六";
                    case 7:
                        return "周日";
                    default:
                        return "未知";
                }
            }
     //
    public class HdisWeek
        {
            /// <summary>
            /// 日期格式化
            /// </summary>
            public string WeekDateFormatter=> WeekDate.ToString("yyyy年MM月dd号");
    
            /// <summary>
            /// 日期
            /// </summary>
            public  DateTime WeekDate { get; set; }
    
            /// <summary>
            /// 周索引
            /// </summary>
            public  int WeekIndex { get; set; }
    
    
            /// <summary>
            /// 日期
            /// </summary>
            public  string WeekDay { get; set; }
        }

    //调用

     DateTime.Now.HdsiWeek().First().WeekDate

    //第一条结果

    2018年07月23号
    2018-07-23
    1
    周一
  • 相关阅读:
    day15作业
    [原]iTop自定义修改相关时间字段的实现要点记录
    获取socket统计信息
    PG-跨库操作-postgres_fdw
    break跳出rewrite阶段,不会在匹配,进入输出阶段。 last 类似重新发起请求,所以会重新进行匹配。
    项目经验--把责任人定下来,流程理顺,工作开展会顺利很多
    异常排障
    docker stack的简单命令
    企业微信群机器人
    redis迁移方案 redis查看主从信息
  • 原文地址:https://www.cnblogs.com/shiruina/p/9354873.html
Copyright © 2011-2022 走看看