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
    周一
  • 相关阅读:
    5.1 面向对象
    golang面向对象初识
    golang:interface{}类型测试
    golang反射初试
    golang构造函数与转换函数
    使用golang+java实现基于ecb的3eds加解密
    golang处理错误的艺术
    golang的nil
    原生javascript实现计时器
    原生javascript之实战 轮播图
  • 原文地址:https://www.cnblogs.com/shiruina/p/9354873.html
Copyright © 2011-2022 走看看